24
24
required : true
25
25
default : true
26
26
release_tag :
27
- description : an existing tag for creating release (e.g. v1 .2.3 )
27
+ description : an existing tag for creating release (e.g. p1 .2.0-w0.0.1-101 )
28
28
required : true
29
29
diff_tag :
30
- description : an existing tag to run diff against (e.g. v1.2.0 )
30
+ description : an existing tag to run diff against (e.g. p1.1.0-w0.0.1-100 )
31
31
default : " "
32
32
required : false
33
33
genesis_release :
44
44
DIFF_TAG : ${{ github.event.inputs.diff_tag }}
45
45
GENESIS_RELEASE : ${{ github.event.inputs.genesis_release }}
46
46
DOCKER_BUILDKIT : 1
47
+ REF_VERSION : ${{ github.head_ref || github.ref_name }}
47
48
48
49
jobs :
49
50
set-release-type :
@@ -114,8 +115,8 @@ jobs:
114
115
${{ matrix.chain }}-parachain-srtool-digest.json
115
116
${{ matrix.chain }}-parachain-runtime.compact.compressed.wasm
116
117
117
- # # build docker image of parachain binary ##
118
- build-docker :
118
+ # build docker image of parachain binary ##
119
+ build-parachain- docker :
119
120
if : ${{ github.event.inputs.release_client == 'true' }}
120
121
runs-on : ubuntu-latest
121
122
steps :
@@ -127,7 +128,7 @@ jobs:
127
128
128
129
- name : Set env
129
130
run : |
130
- DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | cut -d'-' -f1 | sed 's/p/v/')
131
+ DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | sed 's/p/v/;s/\(.*\)-w.*/\1 /')
131
132
echo "DOCKER_TAG=$DOCKER_TAG" >> $GITHUB_ENV
132
133
133
134
- name : Build docker image
@@ -166,6 +167,121 @@ jobs:
166
167
${{ env.GENESIS_RELEASE }}-genesis-state
167
168
${{ env.GENESIS_RELEASE }}-genesis-wasm
168
169
170
+ build-worker-docker :
171
+ if : ${{ github.event.inputs.release_worker == 'true' }}
172
+ runs-on : ubuntu-latest
173
+ steps :
174
+ - name : Checkout codes on ${{ env.RELEASE_TAG }}
175
+ uses : actions/checkout@v4
176
+ with :
177
+ ref : ${{ env.RELEASE_TAG }}
178
+ fetch-depth : 0
179
+ - name : Set env
180
+ run : |
181
+ WORKER_TAG=$(echo ${{ env.RELEASE_TAG }} | sed 's/.*\(w.*\)/\1/;s/w/v/')
182
+ echo "WORKER_TAG=$WORKER_TAG" >> $GITHUB_ENV
183
+
184
+ - name : Free up disk space
185
+ if : startsWith(runner.name, 'GitHub Actions')
186
+ uses : jlumbroso/free-disk-space@main
187
+ with :
188
+ tool-cache : true
189
+ swap-storage : false
190
+ large-packages : false
191
+
192
+ - name : Set up Docker Buildx
193
+ uses : docker/setup-buildx-action@v3
194
+ with :
195
+ # use the docker driver to access the local image
196
+ # we don't need external caches or multi platforms here
197
+ # see https://docs.docker.com/build/drivers/
198
+ driver : docker
199
+
200
+ - name : Cache worker-cache
201
+ uses : actions/cache@v3
202
+ with :
203
+ path : |
204
+ worker-cache
205
+ key : worker-cache-${{ env.REF_VERSION }}-${{ hashFiles('tee-worker/**/Cargo.lock', 'tee-worker/**/Cargo.toml') }}
206
+ restore-keys : |
207
+ worker-cache-${{ env.REF_VERSION }}-
208
+ worker-cache-
209
+
210
+ - name : Create cache folder if not exist
211
+ run : |
212
+ for i in 'git/db' 'registry/cache' 'registry/index' 'sccache'; do
213
+ [ ! -d "worker-cache/$i" ] && mkdir -p "worker-cache/$i" || true
214
+ echo "hello" > worker-cache/$i/nix
215
+ done
216
+ echo "::group::List worker-cache size"
217
+ du -sh worker-cache/*
218
+ echo "::endgroup::"
219
+ echo "::group::Show disk usage"
220
+ df -h .
221
+ echo "::endgroup::"
222
+
223
+ - name : Build local builder
224
+ uses : docker/build-push-action@v5
225
+ with :
226
+ context : .
227
+ file : tee-worker/build.Dockerfile
228
+ tags : local-builder:latest
229
+ target : builder
230
+ build-args : |
231
+ WORKER_MODE_ARG=sidechain
232
+ ADDITIONAL_FEATURES_ARG=
233
+
234
+ - name : Copy caches from the built image
235
+ run : |
236
+ echo "::group::Show disk usage"
237
+ df -h .
238
+ echo "::endgroup::"
239
+ echo "::group::docker images"
240
+ docker images --all
241
+ echo "::endgroup::"
242
+ echo "::group::copy cache out"
243
+ for i in 'git/db' 'registry/cache' 'registry/index'; do
244
+ b="${i%/*}"
245
+ rm -rf worker-cache/$i
246
+ docker cp "$(docker create --rm local-builder:latest):/opt/rust/$i" worker-cache/$b
247
+ done
248
+ rm -rf worker-cache/sccache
249
+ docker cp "$(docker create --rm local-builder:latest):/opt/rust/sccache" worker-cache
250
+ du -sh worker-cache/*
251
+ echo "::endgroup::"
252
+ echo "::group::df -h ."
253
+ df -h .
254
+ echo "::endgroup::"
255
+
256
+ - name : Build worker
257
+ uses : docker/build-push-action@v5
258
+ with :
259
+ context : .
260
+ file : tee-worker/build.Dockerfile
261
+ tags : litentry/litentry-worker:${{ env.WORKER_TAG }}
262
+ target : deployed-worker
263
+
264
+ - name : Build cli
265
+ uses : docker/build-push-action@v5
266
+ with :
267
+ context : .
268
+ file : tee-worker/build.Dockerfile
269
+ tags : litentry/litentry-cli:${{ env.WORKER_TAG }}
270
+ target : deployed-client
271
+
272
+ - run : docker images --all
273
+
274
+ - name : Dockerhub login
275
+ uses : docker/login-action@v3
276
+ with :
277
+ username : ${{ secrets.DOCKERHUB_USERNAME }}
278
+ password : ${{ secrets.DOCKERHUB_PASSWORD }}
279
+
280
+ - name : Push worker image
281
+ run : |
282
+ docker push litentry/litentry-worker:$WORKER_TAG
283
+ docker push litentry/litentry-cli:$WORKER_TAG
284
+
169
285
# # Build the enclave and package config files
170
286
build-tee :
171
287
if : ${{ github.event.inputs.release_worker == 'true' }} || ${{ github.event.inputs.release_enclave == 'true' }}
@@ -181,8 +297,8 @@ jobs:
181
297
ref : ${{ env.RELEASE_TAG }}
182
298
fetch-depth : 0
183
299
184
- - name : Build release artefacts
185
- run : |
300
+ - name : Build release artefacts
301
+ run : |
186
302
source /opt/intel/sgxsdk/environment
187
303
./tee-worker/scripts/litentry/release/build.sh ${{ github.event.inputs.release_worker }} ${{ github.event.inputs.release_enclave }}
188
304
@@ -214,11 +330,11 @@ jobs:
214
330
- name : Fail early
215
331
if : failure()
216
332
uses : andymckay/cancel-action@0.3
217
-
333
+
218
334
# # test again the built docker image ##
219
335
run-ts-tests :
220
336
runs-on : ubuntu-latest
221
- needs : build-docker
337
+ needs : build-parachain- docker
222
338
strategy :
223
339
matrix :
224
340
chain :
@@ -235,7 +351,7 @@ jobs:
235
351
236
352
- name : Download and tag docker image
237
353
run : |
238
- export DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | cut -d'-' -f1 | sed 's/p/v/')
354
+ export DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | sed 's/p/v/;s/\(.*\)-w.*/\1 /')
239
355
docker pull litentry/litentry-parachain:$DOCKER_TAG
240
356
docker tag litentry/litentry-parachain:$DOCKER_TAG litentry/litentry-parachain:latest
241
357
@@ -260,7 +376,7 @@ jobs:
260
376
# # check extrinsic ##
261
377
extrinsic-ordering-check-from-bin :
262
378
runs-on : ubuntu-latest
263
- needs : build-docker
379
+ needs : build-parachain- docker
264
380
strategy :
265
381
matrix :
266
382
chain : [rococo, litmus, litentry]
@@ -280,7 +396,7 @@ jobs:
280
396
- name : Prepare output and compare the metadata
281
397
timeout-minutes : 3
282
398
run : |
283
- export DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | cut -d'-' -f1 | sed 's/p/v/')
399
+ export DOCKER_TAG=$(echo ${{ env.RELEASE_TAG }} | sed 's/p/v/;s/\(.*\)-w.*/\1 /')
284
400
PARACHAIN_NAME=local-parachain
285
401
BASE_URL=ws://127.0.0.1:9944
286
402
chain=${{ matrix.chain }}
@@ -310,16 +426,16 @@ jobs:
310
426
uses : actions-cool/issues-helper@v3
311
427
id : findissueid
312
428
with :
313
- actions : ' find-issues'
429
+ actions : " find-issues"
314
430
token : ${{ secrets.GITHUB_TOKEN }}
315
- issue-state : ' open'
431
+ issue-state : " open"
316
432
title-includes : Litentry-parachain ${{ env.RELEASE_TAG }} Release checklist
317
-
433
+
318
434
- name : Create comment
319
435
if : ${{ steps.findissueid.outputs.issues }} != '[]'
320
436
uses : actions-cool/issues-helper@v3
321
437
with :
322
- actions : ' create-comment'
438
+ actions : " create-comment"
323
439
token : ${{ secrets.GITHUB_TOKEN }}
324
440
issue-number : ${{ fromJson(steps.findissueid.outputs.issues)[0].number }}
325
441
body : |
@@ -334,7 +450,7 @@ jobs:
334
450
- set-release-type
335
451
- build-tee
336
452
- run-ts-tests
337
- - build-wasm
453
+ - build-wasm
338
454
if : |
339
455
!failure() &&
340
456
(success('build-wasm') || success('run-ts-tests') || success('build-tee'))
@@ -347,7 +463,7 @@ jobs:
347
463
348
464
- name : Download all artefacts
349
465
uses : actions/download-artifact@v3
350
-
466
+
351
467
- name : Generate release notes
352
468
run : |
353
469
export MRENCLAVE="${{ needs.build-tee.outputs.mrenclave }}"
0 commit comments