From c94bb567176d0ce8e2316bd4d7926c763dfecf2f Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:17:01 +0200 Subject: [PATCH 01/18] implement image caching with setup-buildx-action; update cache and checkout actions to v4 --- .github/workflows/main.yml | 24 +++++++++++++----------- build_all.sh | 13 +++++++++++-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b850f59..24df40a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,22 +51,24 @@ jobs: - name: Install Nextflow if: ${{ steps.cache-nextflow.outputs.cache-hit != 'true' }} run: cat .github/workflows/install_nextflow_v24.10.5.sh | bash && mv nextflow /usr/local/bin && chmod +x /usr/local/bin/nextflow + + # Check-out the repo under $GITHUB_WORKSPACE so that the job can access it + - uses: actions/checkout@v3 # Build/cache containers - - name: Cache containers - id: cache-containers - uses: actions/cache@v3 + - name: Set up Docker Buildx + uses: docker/setup-build-action@v3 + + - name: Cache Docker layers + uses: actions/cache@v4 with: - key: ${{ runner.os }}-containers - path: /var/lib/docker/overlay2 + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | - ${{ runner.os }}-containers - - name: Build Containers - if: ${{ steps.cache-containers.outputs.cache-hit != 'true'}} - run: bash build_all.sh + ${{ runner.os }}-buildx- - # Check-out the repo under $GITHUB_WORKSPACE so that the job can access it - - uses: actions/checkout@v3 + - name: Build images + run: bash build_all.sh github_action # Run test(s) - name: test short single diff --git a/build_all.sh b/build_all.sh index 08285b2..ed8da65 100755 --- a/build_all.sh +++ b/build_all.sh @@ -1,5 +1,7 @@ #!/usr/bin/env sh +build_mode=$1 + # get architecture arch=$(uname -m) # set architecture to docker buildx @@ -11,6 +13,8 @@ for dir in docker/* do cd ${dir} imgname=$(echo $dir | rev | cut -d/ -f1 | rev) + + echo ██████████████████▓▒░ Building ${imgname} ░▒▓██████████████████ # Reditools2 does not compile on arm64, force using amd64 compilation if [[ $dir =~ "reditools2" ]];then @@ -19,8 +23,13 @@ do docker_arch_option=" --platform linux/amd64" fi fi - - docker build ${docker_arch_option} -t ${imgname} . + + # Check "github_action" mode to enable cache + if [[ ${build_mode} == 'github_action' ]]; then + docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache ${docker_arch_option} -t ${imgname} . + else + docker build ${docker_arch_option} -t ${imgname} . + fi # back to the original working directory cd $wd From 6fc6195d1e6fcd9fef0f8e386896b0cf52877c32 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:18:20 +0200 Subject: [PATCH 02/18] fix typo --- .github/workflows/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 24df40a..0b3d7d5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,12 +24,12 @@ jobs: steps: - name: Get the code - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Install/cache OpenJDK - name: Cache OpenJDK id: cache-openjdk - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: /usr/lib/jvm/java-11-openjdk-amd64 key: ${{ runner.os }}-openjdk-11 @@ -42,7 +42,7 @@ jobs: # Install/cache Nextflow - name: Cache Nextflow id: cache-nextflow - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: /usr/local/bin/nextflow key: ${{ runner.os }}-nextflow @@ -53,11 +53,11 @@ jobs: run: cat .github/workflows/install_nextflow_v24.10.5.sh | bash && mv nextflow /usr/local/bin && chmod +x /usr/local/bin/nextflow # Check-out the repo under $GITHUB_WORKSPACE so that the job can access it - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Build/cache containers - name: Set up Docker Buildx - uses: docker/setup-build-action@v3 + uses: docker/setup-buildx-action@v3 - name: Cache Docker layers uses: actions/cache@v4 From cdff5f788821724417a2ebb3ea9f263ffccbb0f0 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:24:25 +0200 Subject: [PATCH 03/18] make push trigger exclusive to the main branch --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0b3d7d5..a348be8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,10 @@ name: CI -on: [push, pull_request, workflow_dispatch] +on: + push: + branches: + - "main" + pull_request: + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} From 0047b7619d6068671365ea0be1f3dc409741623e Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:26:37 +0200 Subject: [PATCH 04/18] fix path --- nextflow.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextflow.config b/nextflow.config index b438f20..35bfc51 100644 --- a/nextflow.config +++ b/nextflow.config @@ -55,7 +55,7 @@ profiles { params.aligner = "STAR" params.reads = "${baseDir}/data/chr21/chr21_small_R1.fastq.gz " params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" - params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3" + params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" params.library_type = "ISR" params.read_type = "short_single" } @@ -64,7 +64,7 @@ profiles { params.aligner = "STAR" params.reads = "${baseDir}/data/chr21/" params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" - params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3" + params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" params.library_type = "ISR" params.read_type = "short_paired" } From c54701e59b48d551ddbeafd7c2b9ccd39ae62949 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:42:24 +0200 Subject: [PATCH 05/18] rename building script and add message in github_action build mode --- .github/workflows/main.yml | 2 +- build_all.sh => build_images.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) rename build_all.sh => build_images.sh (95%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a348be8..1542d6f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -73,7 +73,7 @@ jobs: ${{ runner.os }}-buildx- - name: Build images - run: bash build_all.sh github_action + run: bash build_images.sh github_action # Run test(s) - name: test short single diff --git a/build_all.sh b/build_images.sh similarity index 95% rename from build_all.sh rename to build_images.sh index ed8da65..8c9c4ee 100755 --- a/build_all.sh +++ b/build_images.sh @@ -26,6 +26,7 @@ do # Check "github_action" mode to enable cache if [[ ${build_mode} == 'github_action' ]]; then + echo ℹ️ Building in github_action mode. docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache ${docker_arch_option} -t ${imgname} . else docker build ${docker_arch_option} -t ${imgname} . From ad5626d48d4d779c544b1f9658ee5c49feb992a3 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:44:25 +0200 Subject: [PATCH 06/18] fancier info message --- build_images.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_images.sh b/build_images.sh index 8c9c4ee..1a95d37 100755 --- a/build_images.sh +++ b/build_images.sh @@ -26,7 +26,7 @@ do # Check "github_action" mode to enable cache if [[ ${build_mode} == 'github_action' ]]; then - echo ℹ️ Building in github_action mode. + echo ℹ️ == Building in github_action mode ==ℹ️ docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache ${docker_arch_option} -t ${imgname} . else docker build ${docker_arch_option} -t ${imgname} . From 36d619b813ca119c97f18c1047d6ac7a3bcb461b Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 11:57:48 +0200 Subject: [PATCH 07/18] add load option to the build command --- build_images.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_images.sh b/build_images.sh index 1a95d37..1197608 100755 --- a/build_images.sh +++ b/build_images.sh @@ -27,7 +27,7 @@ do # Check "github_action" mode to enable cache if [[ ${build_mode} == 'github_action' ]]; then echo ℹ️ == Building in github_action mode ==ℹ️ - docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache ${docker_arch_option} -t ${imgname} . + docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache --load ${docker_arch_option} -t ${imgname} . else docker build ${docker_arch_option} -t ${imgname} . fi From cb54628c7f02ab2702d79c8e11f4bd337c801913 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 12:06:29 +0200 Subject: [PATCH 08/18] use hisat2 in test profiles to speed up CI --- nextflow.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextflow.config b/nextflow.config index 35bfc51..3293d72 100644 --- a/nextflow.config +++ b/nextflow.config @@ -52,7 +52,7 @@ profiles { } test { params.aline_profiles = "${baseDir}/config/ressources/base_aline.config" - params.aligner = "STAR" + params.aligner = "hisat2" params.reads = "${baseDir}/data/chr21/chr21_small_R1.fastq.gz " params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" @@ -61,7 +61,7 @@ profiles { } test2 { params.aline_profiles = "${baseDir}/config/ressources/base_aline.config" - params.aligner = "STAR" + params.aligner = "hisat2" params.reads = "${baseDir}/data/chr21/" params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" From 3ebef1ec1d5c47bf5b3ba83d372bf76815824619 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 14:55:09 +0200 Subject: [PATCH 09/18] cache images to tarfile and rebuild based on hash of dockerfiles --- .github/workflows/main.yml | 27 +++++++++++++++++++++------ build_images.sh | 22 ++++++++++++++++------ 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1542d6f..880a7d5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -61,18 +61,33 @@ jobs: - uses: actions/checkout@v4 # Build/cache containers - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 - - name: Cache Docker layers + - name: Cache Dockerfiles uses: actions/cache@v4 + id: cache-dockerfiles with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} + path: | + docker/*/Dockerfile + key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*/Dockerfile') }} restore-keys: | - ${{ runner.os }}-buildx- + ${{ runner.os }}-dockerfiles- + + - name: Load cached Docker images + id: load-cache + run: | + if [ -f docker-images.tar ]; then + echo "Loading cached Docker images..." + docker load -i docker-images.tar || true + echo "build=false" >> $GITHUB_ENV + else + echo "No Docker cache found" + echo "build=true" >> $GITHUB_ENV + fi - name: Build images + if: env.build == 'true' || steps.cache-dockerfiles.outputs.cache-hit != 'true' run: bash build_images.sh github_action # Run test(s) diff --git a/build_images.sh b/build_images.sh index 1197608..72140f0 100755 --- a/build_images.sh +++ b/build_images.sh @@ -9,10 +9,15 @@ docker_arch_option="" # save original working directory wd=$(pwd) + +# list of image names +image_list=() + for dir in docker/* do cd ${dir} imgname=$(echo $dir | rev | cut -d/ -f1 | rev) + image_list+=($imgname) echo ██████████████████▓▒░ Building ${imgname} ░▒▓██████████████████ @@ -25,13 +30,18 @@ do fi # Check "github_action" mode to enable cache - if [[ ${build_mode} == 'github_action' ]]; then - echo ℹ️ == Building in github_action mode ==ℹ️ - docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache --load ${docker_arch_option} -t ${imgname} . - else - docker build ${docker_arch_option} -t ${imgname} . - fi + docker build ${docker_arch_option} -t ${imgname} . + # if [[ ${build_mode} == 'github_action' ]]; then + # echo ℹ️ == Building in github_action mode ==ℹ️ + # docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache --load ${docker_arch_option} -t ${imgname} . + # else + # fi # back to the original working directory cd $wd done + +if [[ ${build_mode} == 'github_action' ]]; then + echo "Saving docker images to cache..." + docker save ${image_list} -o docker-images.tar +fi From e61848b86e2b0e0cc3b0d4812f921b376dde1f24 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 15:58:51 +0200 Subject: [PATCH 10/18] add docker image archive to the cache --- .github/workflows/main.yml | 3 ++- build_images.sh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 880a7d5..6fbc5c8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -64,12 +64,13 @@ jobs: # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3 - - name: Cache Dockerfiles + - name: Cache Dockerfiles and TAR uses: actions/cache@v4 id: cache-dockerfiles with: path: | docker/*/Dockerfile + docker-images.tar key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*/Dockerfile') }} restore-keys: | ${{ runner.os }}-dockerfiles- diff --git a/build_images.sh b/build_images.sh index 72140f0..71143ea 100755 --- a/build_images.sh +++ b/build_images.sh @@ -44,4 +44,5 @@ done if [[ ${build_mode} == 'github_action' ]]; then echo "Saving docker images to cache..." docker save ${image_list} -o docker-images.tar + pwd fi From f2d3eb0eedaa158d2c97ddefc706c9cf242579c8 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:06:57 +0200 Subject: [PATCH 11/18] Improve comments --- build_images.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/build_images.sh b/build_images.sh index 71143ea..f39fabf 100755 --- a/build_images.sh +++ b/build_images.sh @@ -1,5 +1,11 @@ #!/usr/bin/env sh +# Run this script with the argument "github_action" in order to save images in an archive for caching +# Pass no arguments to run the script in "normal" build mode suitable for a local machine + +# Read first argument as the "build mode" +# The build is used, for instance, for special build commands +# for Github actions. build_mode=$1 # get architecture @@ -29,13 +35,7 @@ do fi fi - # Check "github_action" mode to enable cache docker build ${docker_arch_option} -t ${imgname} . - # if [[ ${build_mode} == 'github_action' ]]; then - # echo ℹ️ == Building in github_action mode ==ℹ️ - # docker buildx build --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache --load ${docker_arch_option} -t ${imgname} . - # else - # fi # back to the original working directory cd $wd @@ -44,5 +44,4 @@ done if [[ ${build_mode} == 'github_action' ]]; then echo "Saving docker images to cache..." docker save ${image_list} -o docker-images.tar - pwd fi From 398cbd53b462f4b98b6d128326467abf6e7fb25d Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:12:16 +0200 Subject: [PATCH 12/18] use full path for archive lookup --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6fbc5c8..1e8eb43 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -78,7 +78,7 @@ jobs: - name: Load cached Docker images id: load-cache run: | - if [ -f docker-images.tar ]; then + if [ -f /home/runner/work/rain/rain/docker-images.tar ]; then echo "Loading cached Docker images..." docker load -i docker-images.tar || true echo "build=false" >> $GITHUB_ENV From deb4cf1d27a3bf0c96167f01fb2b93fd67a5c3c6 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:23:09 +0200 Subject: [PATCH 13/18] output cache size info --- .github/workflows/main.yml | 6 +----- build_images.sh | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1e8eb43..8f48817 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,10 +60,6 @@ jobs: # Check-out the repo under $GITHUB_WORKSPACE so that the job can access it - uses: actions/checkout@v4 - # Build/cache containers - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - - name: Cache Dockerfiles and TAR uses: actions/cache@v4 id: cache-dockerfiles @@ -78,7 +74,7 @@ jobs: - name: Load cached Docker images id: load-cache run: | - if [ -f /home/runner/work/rain/rain/docker-images.tar ]; then + if [ -f docker-images.tar ]; then echo "Loading cached Docker images..." docker load -i docker-images.tar || true echo "build=false" >> $GITHUB_ENV diff --git a/build_images.sh b/build_images.sh index f39fabf..0bbf17b 100755 --- a/build_images.sh +++ b/build_images.sh @@ -44,4 +44,5 @@ done if [[ ${build_mode} == 'github_action' ]]; then echo "Saving docker images to cache..." docker save ${image_list} -o docker-images.tar + echo Archive size: $(stat --printf="%s" docker-images.tar) fi From cab1831b9377a19065d52a7a53cdfe1c8a3d4aca Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:27:42 +0200 Subject: [PATCH 14/18] change hash key --- .github/workflows/main.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8f48817..945ddc6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -61,13 +61,11 @@ jobs: - uses: actions/checkout@v4 - name: Cache Dockerfiles and TAR - uses: actions/cache@v4 id: cache-dockerfiles + uses: actions/cache@v4 with: - path: | - docker/*/Dockerfile - docker-images.tar - key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*/Dockerfile') }} + path: docker-images.tar + key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*') }} restore-keys: | ${{ runner.os }}-dockerfiles- From 8287db939e2bfab39fddb318439b22d6e10a41e6 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:36:45 +0200 Subject: [PATCH 15/18] fix key --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 945ddc6..7264156 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,8 +66,6 @@ jobs: with: path: docker-images.tar key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*') }} - restore-keys: | - ${{ runner.os }}-dockerfiles- - name: Load cached Docker images id: load-cache From 79d8ec76eb5ae6e18bb80609b5376a355aae587b Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 16:54:44 +0200 Subject: [PATCH 16/18] Revert test profile aligner to STAR --- nextflow.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextflow.config b/nextflow.config index 3293d72..35bfc51 100644 --- a/nextflow.config +++ b/nextflow.config @@ -52,7 +52,7 @@ profiles { } test { params.aline_profiles = "${baseDir}/config/ressources/base_aline.config" - params.aligner = "hisat2" + params.aligner = "STAR" params.reads = "${baseDir}/data/chr21/chr21_small_R1.fastq.gz " params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" @@ -61,7 +61,7 @@ profiles { } test2 { params.aline_profiles = "${baseDir}/config/ressources/base_aline.config" - params.aligner = "hisat2" + params.aligner = "STAR" params.reads = "${baseDir}/data/chr21/" params.genome = "${baseDir}/data/chr21/chr21_small.fasta.gz" params.annotation = "${baseDir}/data/chr21/chr21_small_filtered.gff3.gz" From 448d2f361a306c4d9f666150dffb0b68a4b165d8 Mon Sep 17 00:00:00 2001 From: earx Date: Thu, 17 Apr 2025 17:21:16 +0200 Subject: [PATCH 17/18] fix image list --- build_images.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build_images.sh b/build_images.sh index 0bbf17b..da28da7 100755 --- a/build_images.sh +++ b/build_images.sh @@ -17,13 +17,13 @@ docker_arch_option="" wd=$(pwd) # list of image names -image_list=() +image_list=( ) for dir in docker/* do cd ${dir} imgname=$(echo $dir | rev | cut -d/ -f1 | rev) - image_list+=($imgname) + image_list+=(${imgname}) echo ██████████████████▓▒░ Building ${imgname} ░▒▓██████████████████ @@ -43,6 +43,6 @@ done if [[ ${build_mode} == 'github_action' ]]; then echo "Saving docker images to cache..." - docker save ${image_list} -o docker-images.tar + docker save ${image_list[@]} -o docker-images.tar echo Archive size: $(stat --printf="%s" docker-images.tar) fi From 9c5b4cec4bc84515860f2fb7ce3167bb6fa89038 Mon Sep 17 00:00:00 2001 From: earx Date: Fri, 18 Apr 2025 09:36:26 +0200 Subject: [PATCH 18/18] fix hash for docker stuff --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7264156..2654e41 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,7 +65,7 @@ jobs: uses: actions/cache@v4 with: path: docker-images.tar - key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/*') }} + key: ${{ runner.os }}-dockerfiles-${{ hashFiles('docker/**/*') }} - name: Load cached Docker images id: load-cache