feat: v0.5.0 — Nextflow DSL2 post-calling pipeline (27 modules) #53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Container Smoke Test | |
| on: | |
| push: | |
| branches: [main] | |
| paths: ['versions.env', 'scripts/setup.sh', '.github/workflows/container-test.yml'] | |
| pull_request: | |
| branches: [main] | |
| paths: ['versions.env', 'scripts/setup.sh', '.github/workflows/container-test.yml'] | |
| workflow_dispatch: | |
| schedule: | |
| # Monthly check that upstream images are still pullable | |
| - cron: '0 6 1 * *' | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| pull-and-verify: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Representative subset — one per registry/publisher to catch auth/rename issues | |
| - image: staphb/bcftools:1.21 | |
| cmd: "bcftools --version" | |
| - image: quay.io/biocontainers/minimap2:2.28--he4a0461_0 | |
| cmd: "minimap2 --version" | |
| - image: brentp/duphold:v0.2.3 | |
| cmd: "duphold --version" | |
| - image: getwilds/annotsv:3.4.4 | |
| cmd: "AnnotSV --version" | |
| - image: broadinstitute/picard:3.4.0 | |
| cmd: "java -version" | |
| - image: pgkb/pharmcat:3.2.0 | |
| cmd: "pharmcat_pipeline --version" | |
| - image: python:3.11 | |
| cmd: "python3 --version" | |
| - image: quay.io/biocontainers/vcfanno:0.3.7--he881be0_0 | |
| cmd: "bash -c 'vcfanno 2>&1 | grep -q \"vcfanno version\"'" | |
| # slivar uses staphb/bcftools + pre-built binary (no dedicated container) | |
| - image: quay.io/biocontainers/pypgx:0.26.0--pyh7e72e81_0 | |
| cmd: "pypgx --version" | |
| steps: | |
| - name: Pull ${{ matrix.image }} | |
| run: docker pull "${{ matrix.image }}" | |
| - name: Verify ${{ matrix.image }} | |
| run: docker run --rm "${{ matrix.image }}" ${{ matrix.cmd }} | |
| versions-env-sync: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Verify smoke-test matrix matches versions.env | |
| run: | | |
| echo "Checking that container-test matrix images exist in versions.env..." | |
| rm -f /tmp/matrix_fail | |
| # Extract only "- image: <value>" lines from the YAML matrix block | |
| # These always start with leading whitespace, a dash, and "image:" | |
| grep -E '^\s+- image:' .github/workflows/container-test.yml | awk '{print $3}' | while read -r img; do | |
| if ! grep -qF "$img" versions.env; then | |
| echo "FAIL: container-test.yml matrix has $img but it's not in versions.env" | |
| echo "1" > /tmp/matrix_fail | |
| fi | |
| done | |
| if [ -f /tmp/matrix_fail ]; then | |
| exit 1 | |
| fi | |
| echo "OK: All matrix images exist in versions.env" |