Skip to content

Commit ea805f7

Browse files
committed
ci: retry Docker image pulls in E2E tests
1 parent de542e2 commit ea805f7

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

.github/workflows/docker-tests.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
docker-tests:
2020
permissions:
2121
contents: read
22+
packages: read
2223
name: Docker E2E Tests
2324
runs-on: ubuntu-latest
2425
steps:
@@ -30,6 +31,28 @@ jobs:
3031
cache-dependency-path: "**/go.sum"
3132
- name: Install just
3233
uses: extractions/setup-just@v4
34+
- name: Log in to GHCR
35+
uses: docker/login-action@v3
36+
with:
37+
registry: ghcr.io
38+
username: ${{ github.actor }}
39+
password: ${{ secrets.GITHUB_TOKEN }}
40+
- name: Pre-pull Docker images
41+
run: |
42+
pull_with_retry() {
43+
local image="$1"
44+
for attempt in 1 2 3 4 5; do
45+
if docker pull "$image"; then
46+
return 0
47+
fi
48+
sleep $((attempt * 10))
49+
done
50+
docker pull "$image"
51+
}
52+
53+
pull_with_retry ghcr.io/celestiaorg/celestia-app:v5.0.2
54+
pull_with_retry ghcr.io/celestiaorg/celestia-node:v0.25.3
55+
pull_with_retry ghcr.io/${{ github.repository_owner }}/ev-node-testapp:${{ inputs.image-tag }}
3356
- name: Run Docker E2E Tests
3457
run: just test-docker-e2e
3558
env:
@@ -40,6 +63,7 @@ jobs:
4063
name: Docker Upgrade E2E Tests
4164
permissions:
4265
contents: read
66+
packages: read
4367
runs-on: ubuntu-latest
4468
steps:
4569
- uses: actions/checkout@v6.0.2
@@ -50,6 +74,30 @@ jobs:
5074
cache-dependency-path: "**/go.sum"
5175
- name: Install just
5276
uses: extractions/setup-just@v4
77+
- name: Log in to GHCR
78+
uses: docker/login-action@v3
79+
with:
80+
registry: ghcr.io
81+
username: ${{ github.actor }}
82+
password: ${{ secrets.GITHUB_TOKEN }}
83+
- name: Pre-pull Docker images
84+
run: |
85+
pull_with_retry() {
86+
local image="$1"
87+
for attempt in 1 2 3 4 5; do
88+
if docker pull "$image"; then
89+
return 0
90+
fi
91+
sleep $((attempt * 10))
92+
done
93+
docker pull "$image"
94+
}
95+
96+
pull_with_retry ghcr.io/celestiaorg/celestia-app:v5.0.2
97+
pull_with_retry ghcr.io/celestiaorg/celestia-node:v0.25.3
98+
pull_with_retry ghcr.io/evstack/ev-reth:v0.2.2
99+
pull_with_retry ghcr.io/evstack/ev-node-evm:main
100+
pull_with_retry ghcr.io/${{ github.repository_owner }}/ev-node-evm:${{ inputs.image-tag }}
53101
- name: Run Docker Upgrade E2E Tests
54102
run: just test-docker-upgrade-e2e
55103
env:
@@ -60,6 +108,7 @@ jobs:
60108
name: Docker Compatibility E2E Tests
61109
permissions:
62110
contents: read
111+
packages: read
63112
runs-on: ubuntu-latest
64113
steps:
65114
- uses: actions/checkout@v6.0.2
@@ -70,6 +119,30 @@ jobs:
70119
cache-dependency-path: "**/go.sum"
71120
- name: Install just
72121
uses: extractions/setup-just@v4
122+
- name: Log in to GHCR
123+
uses: docker/login-action@v3
124+
with:
125+
registry: ghcr.io
126+
username: ${{ github.actor }}
127+
password: ${{ secrets.GITHUB_TOKEN }}
128+
- name: Pre-pull Docker images
129+
run: |
130+
pull_with_retry() {
131+
local image="$1"
132+
for attempt in 1 2 3 4 5; do
133+
if docker pull "$image"; then
134+
return 0
135+
fi
136+
sleep $((attempt * 10))
137+
done
138+
docker pull "$image"
139+
}
140+
141+
pull_with_retry ghcr.io/celestiaorg/celestia-app:v5.0.2
142+
pull_with_retry ghcr.io/celestiaorg/celestia-node:v0.25.3
143+
pull_with_retry ghcr.io/evstack/ev-reth:v0.2.2
144+
pull_with_retry ghcr.io/${{ github.repository_owner }}/ev-node-evm:main
145+
pull_with_retry ghcr.io/${{ github.repository_owner }}/ev-node-evm:${{ inputs.image-tag }}
73146
- name: Run Docker Compat E2E Tests
74147
run: just test-docker-compat
75148
env:

0 commit comments

Comments
 (0)