Skip to content

Commit 358290a

Browse files
committed
ci: add smoke tests to catch image startup failures before push
1 parent 149db35 commit 358290a

1 file changed

Lines changed: 22 additions & 4 deletions

File tree

.github/workflows/build.yaml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
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
@@ -32,6 +32,7 @@ jobs:
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:
@@ -42,7 +43,8 @@ jobs:
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

Comments
 (0)