21
21
22
22
jobs :
23
23
build_and_push_images :
24
+ if : github.repository == 'open-telemetry/opentelemetry-demo'
24
25
runs-on : ubuntu-latest
25
26
permissions :
26
27
contents : read
@@ -35,70 +36,85 @@ jobs:
35
36
fail-fast : false
36
37
matrix :
37
38
file_tag :
39
+ - file : ./src/accountingservice/Dockerfile
40
+ tag_suffix : accountingservice
41
+ context : ./
42
+ setup-qemu : true
38
43
- file : ./src/adservice/Dockerfile
39
44
tag_suffix : adservice
40
45
context : ./
46
+ setup-qemu : true
41
47
- file : ./src/cartservice/src/Dockerfile
42
48
tag_suffix : cartservice
43
49
context : ./
50
+ setup-qemu : false
44
51
- file : ./src/checkoutservice/Dockerfile
45
52
tag_suffix : checkoutservice
46
53
context : ./
54
+ setup-qemu : true
47
55
- file : ./src/currencyservice/Dockerfile
48
56
tag_suffix : currencyservice
49
- context : ./src/currencyservice
57
+ context : ./
58
+ setup-qemu : true
50
59
- file : ./src/emailservice/Dockerfile
51
60
tag_suffix : emailservice
52
61
context : ./src/emailservice
53
- # NOTE:
54
- # https://github.com/open-telemetry/opentelemetry-demo/issues/956
55
- # Until dedicated ARM runners are available for GHA we cannot upgrade
56
- # OTP/Elixir versions. Please do not change the OTP/Elixir versions.
57
- - file : ./src/featureflagservice/Dockerfile
58
- tag_suffix : featureflagservice
62
+ setup-qemu : true
63
+ - file : ./src/frauddetectionservice/Dockerfile
64
+ tag_suffix : frauddetectionservice
59
65
context : ./
66
+ setup-qemu : true
60
67
- file : ./src/frontend/Dockerfile
61
68
tag_suffix : frontend
62
69
context : ./
70
+ setup-qemu : true
63
71
- file : ./src/frontendproxy/Dockerfile
64
72
tag_suffix : frontendproxy
65
73
context : ./
74
+ setup-qemu : true
75
+ - file : ./src/frontend/Dockerfile.cypress
76
+ tag_suffix : frontend-tests
77
+ context : ./
78
+ setup-qemu : true
79
+ - file : ./src/imageprovider/Dockerfile
80
+ tag_suffix : imageprovider
81
+ context : ./
82
+ setup-qemu : true
83
+ - file : ./src/kafka/Dockerfile
84
+ tag_suffix : kafka
85
+ context : ./
86
+ setup-qemu : true
66
87
- file : ./src/loadgenerator/Dockerfile
67
88
tag_suffix : loadgenerator
68
89
context : ./
90
+ setup-qemu : true
69
91
- file : ./src/paymentservice/Dockerfile
70
92
tag_suffix : paymentservice
71
93
context : ./
94
+ setup-qemu : true
72
95
- file : ./src/productcatalogservice/Dockerfile
73
96
tag_suffix : productcatalogservice
74
97
context : ./
98
+ setup-qemu : true
75
99
- file : ./src/quoteservice/Dockerfile
76
100
tag_suffix : quoteservice
77
101
context : ./
78
- - file : ./src/shippingservice/Dockerfile
79
- tag_suffix : shippingservice
80
- context : ./
102
+ setup-qemu : true
81
103
- file : ./src/recommendationservice/Dockerfile
82
104
tag_suffix : recommendationservice
83
105
context : ./
84
- - file : ./src/kafka/Dockerfile
85
- tag_suffix : kafka
86
- context : ./
87
- - file : ./src/accountingservice/Dockerfile
88
- tag_suffix : accountingservice
89
- context : ./
90
- - file : ./src/frauddetectionservice/Dockerfile
91
- tag_suffix : frauddetectionservice
92
- context : ./
93
- - file : ./src/frontend/Dockerfile.cypress
94
- tag_suffix : frontend-tests
106
+ setup-qemu : true
107
+ - file : ./src/shippingservice/Dockerfile
108
+ tag_suffix : shippingservice
95
109
context : ./
96
- - file : ./test/Dockerfile
97
- tag_suffix : integrationTests
110
+ setup-qemu : true
111
+ - file : ./test/tracetesting/Dockerfile
112
+ tag_suffix : traceBasedTests
98
113
context : ./
114
+ setup-qemu : true
99
115
100
116
steps :
101
- - uses : actions/checkout@v3
117
+ - uses : actions/checkout@v4
102
118
with :
103
119
fetch-depth : 0
104
120
- name : Check for changes and set push options
@@ -131,25 +147,28 @@ jobs:
131
147
password : ${{ secrets.DOCKER_PASSWORD }}
132
148
if : ${{ inputs.push }}
133
149
- name : Set up QEMU
134
- uses : docker/setup-qemu-action@v2
150
+ if : ${{ matrix.file_tag.setup-qemu }}
151
+ uses : docker/setup-qemu-action@v3
135
152
with :
136
153
image : tonistiigi/binfmt:master
137
154
- name : Set up Docker Buildx
138
- uses : docker/setup-buildx-action@v2
155
+ uses : docker/setup-buildx-action@v3
139
156
with :
140
157
config-inline : |
141
158
[worker.oci]
142
159
max-parallelism = 2
143
160
- name : Matrix Build and push demo images
144
161
if : steps.check_changes.outputs.skip == 'false'
145
- uses : docker/build-push-action@v3.3.1
162
+ uses : docker/build-push-action@v5.0.0
146
163
with :
147
164
context : ${{ matrix.file_tag.context }}
148
165
file : ${{ matrix.file_tag.file }}
149
166
platforms : linux/amd64,linux/arm64
150
167
push : ${{ inputs.push }}
151
168
tags : |
152
169
${{ env.DOCKERHUB_REPO }}:${{ inputs.version }}-${{matrix.file_tag.tag_suffix }}
170
+ ${{ env.DOCKERHUB_REPO }}:latest-${{matrix.file_tag.tag_suffix }}
153
171
${{ env.GHCR_REPO }}:${{ inputs.version }}-${{ matrix.file_tag.tag_suffix }}
172
+ ${{ env.GHCR_REPO }}:latest-${{ matrix.file_tag.tag_suffix }}
154
173
cache-from : type=gha
155
174
cache-to : type=gha
0 commit comments