7
7
- master
8
8
9
9
jobs :
10
- sanity-check :
11
- runs-on : ubuntu-latest
10
+
11
+ sanity-check-matrix :
12
+ strategy :
13
+ fail-fast : false # let other jobs try to complete if one fails
14
+ matrix :
15
+ include :
16
+ - { id: "default-amd64", extraDockerOpts: "-e ENABLE_MANIFEST_CACHE=false", runner: "ubuntu-22.04" }
17
+ - { id: "default-arm64", extraDockerOpts: "-e ENABLE_MANIFEST_CACHE=false", runner: "ubuntu-22.04-arm" }
18
+
19
+
20
+ runs-on : " ${{ matrix.runner }}"
21
+ name : " ${{ matrix.id }} (${{ matrix.extraDockerOpts }})"
12
22
steps :
13
23
24
+ - name : Install pipetty and ccze
25
+ run : |
26
+ sudo apt-get install -y colorized-logs ccze
27
+
14
28
- name : Get machine's first IPv4 address for eth0
15
29
id : ip
16
30
run : |
@@ -23,12 +37,11 @@ jobs:
23
37
- name : Checkout
24
38
uses : actions/checkout@v4
25
39
26
- # We use buildx instead of regular build so we can take advantage of Docker layer cache via Github Actions' cache
27
40
- name : Set up Docker Buildx
28
41
id : buildx
29
42
uses : docker/setup-buildx-action@v3
30
43
31
- - name : Build amd64 release image locally to Docker
44
+ - name : Build image locally to Docker
32
45
uses : docker/build-push-action@v6
33
46
with :
34
47
build-args : |
@@ -37,15 +50,14 @@ jobs:
37
50
builder : ${{ steps.buildx.outputs.name }}
38
51
context : .
39
52
file : ./Dockerfile
40
- platforms : linux/amd64
41
53
tags : sanity-check/docker-registry-proxy:latest
42
54
push : false
43
55
load : true
44
56
45
57
- name : Start foreground instance for first-contact sanity checking
46
58
run : |
47
- timeout --signal=9 --verbose 10 docker run --name docker_registry_proxy_fg \
48
- -e ENABLE_MANIFEST_CACHE=false \
59
+ timeout --signal=9 --verbose 10 docker run \
60
+ --name docker_registry_proxy_fg ${{ matrix.extraDockerOpts }} \
49
61
sanity-check/docker-registry-proxy:latest || true
50
62
sleep 3
51
63
docker stop docker_registry_proxy_fg || true
54
66
- name : Start proxy instance in docker (ENABLE_MANIFEST_CACHE=false)
55
67
run : |
56
68
docker run -d --rm --name docker_registry_proxy \
57
- -p 0.0.0.0:3128:3128 -e ENABLE_MANIFEST_CACHE=false \
69
+ -p 0.0.0.0:3128:3128 ${{ matrix.extraDockerOpts }} \
58
70
-v $(pwd)/docker_mirror_cache:/docker_mirror_cache \
59
71
-v $(pwd)/docker_mirror_certs:/ca \
60
72
sanity-check/docker-registry-proxy:latest
65
77
sleep 10
66
78
docker logs docker_registry_proxy > initial_logs.txt
67
79
68
- - name : Upload artifact initial_logs
69
- uses : actions/upload-artifact@v4
70
- with :
71
- name : initial_logs
72
- path : initial_logs.txt
80
+ - name : " LOG: initial_logs.txt"
81
+ run : pipetty ccze -A < initial_logs.txt
73
82
74
83
- name : Wait for container to be up
75
84
timeout-minutes : 1
@@ -113,10 +122,10 @@ jobs:
113
122
run : |
114
123
sudo systemctl restart docker.service
115
124
116
- - name : Start proxy instance in docker again (ENABLE_MANIFEST_CACHE=true)
125
+ - name : Start proxy instance in docker again
117
126
run : |
118
127
docker run -d --rm --name docker_registry_proxy \
119
- -p 0.0.0.0:3128:3128 -e ENABLE_MANIFEST_CACHE=true \
128
+ -p 0.0.0.0:3128:3128 ${{ matrix.extraDockerOpts }} \
120
129
-v $(pwd)/docker_mirror_cache:/docker_mirror_cache \
121
130
-v $(pwd)/docker_mirror_certs:/ca \
122
131
sanity-check/docker-registry-proxy:latest
@@ -148,11 +157,8 @@ jobs:
148
157
run : |
149
158
docker logs docker_registry_proxy > cold_cache.txt
150
159
151
- - name : Upload artifact cold_cache
152
- uses : actions/upload-artifact@v4
153
- with :
154
- name : cold_cache
155
- path : cold_cache.txt
160
+ - name : " LOG: cold_cache.txt"
161
+ run : pipetty ccze -A < cold_cache.txt
156
162
157
163
- name : prune all unused images from docker cache again
158
164
timeout-minutes : 1
@@ -173,9 +179,6 @@ jobs:
173
179
run : |
174
180
docker logs docker_registry_proxy > warm_cache.txt
175
181
176
- - name : Upload artifact warm_cache
177
- uses : actions/upload-artifact@v4
178
- with :
179
- name : warm_cache
180
- path : warm_cache.txt
182
+ - name : " LOG: warm_cache.txt"
183
+ run : pipetty ccze -A < warm_cache.txt
181
184
0 commit comments