2323 # this might remove tools that are actually needed,
2424 # if set to "true" but frees about 6 GB
2525 tool-cache : false
26-
26+
2727 # all of these default to true, but feel free to set to
2828 # "false" if necessary for your workflow
2929 android : true
3232 large-packages : true
3333 docker-images : true
3434 swap-storage : true
35+
3536 - name : Login to GitHub Container Registry
3637 uses : docker/login-action@v3
3738 with :
4243 - name : Set up Docker Buildx
4344 uses : docker/setup-buildx-action@v3
4445
45- - name : Build and push image
46+ - name : Build image
47+ id : build
4648 run : |
4749 if [[ "${{ matrix.build_name }}" == "base" ]]; then
4850 docker_tag=bolt:${GITHUB_REF_NAME#v};
@@ -52,10 +54,26 @@ jobs:
5254 dockerfile_fn=Dockerfile.${{ matrix.build_name }};
5355 fi;
5456
55- # Build and push to GHCR umccr registry
5657 docker build \
5758 --platform linux/amd64 \
59+ --load \
5860 -f docker/${dockerfile_fn} \
5961 -t ghcr.io/umccr/${docker_tag} \
60- --push \
6162 .;
63+
64+ echo "docker_tag=ghcr.io/umccr/${docker_tag}" >> $GITHUB_OUTPUT
65+
66+ - name : Smoke test
67+ run : |
68+ docker run --rm ${{ steps.build.outputs.docker_tag }} bolt --version
69+
70+ case "${{ matrix.build_name }}" in
71+ multiqc) docker run --rm ${{ steps.build.outputs.docker_tag }} multiqc --version ;;
72+ gpgr) docker run --rm ${{ steps.build.outputs.docker_tag }} Rscript -e 'library(gpgr); cat("gpgr ok\n")' ;;
73+ pcgr) docker run --rm ${{ steps.build.outputs.docker_tag }} pcgr --version ;;
74+ snpeff) docker run --rm ${{ steps.build.outputs.docker_tag }} bash -c 'snpEff -version 2>&1 | head -1' ;;
75+ circos) docker run --rm ${{ steps.build.outputs.docker_tag }} circos --version ;;
76+ esac
77+
78+ - name : Push image
79+ run : docker push ${{ steps.build.outputs.docker_tag }}
0 commit comments