Skip to content

Refactor / update to best practices #41

Refactor / update to best practices

Refactor / update to best practices #41

Workflow file for this run

name: Generate test reports
on:
push:
branches: [main, dev]
pull_request:
jobs:
run_multiqc:
name: Linux - Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.14"]
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install multiqc
- name: Install MultiQC_SAV
run: pip install .
- name: Make test output dir
run: mkdir test_output
- name: Test MiSeq
run: |
multiqc --strict test_data/MiSeq -o test_output/MiSeq
test -f test_output/MiSeq/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test MiSeqI100
run: |
multiqc --strict test_data/MiSeqI100 -o test_output/MiSeqI100
test -f test_output/MiSeqI100/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test HiSeq3000
run: |
multiqc --strict test_data/HiSeq3000 -o test_output/HiSeq3000
test -f test_output/HiSeq3000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test NextSeq500
run: |
multiqc --strict test_data/NextSeq500 -o test_output/NextSeq500
test -f test_output/NextSeq500/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test NextSeq2000
run: |
multiqc --strict test_data/NextSeq2000 -o test_output/NextSeq2000
test -f test_output/NextSeq2000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test NovaSeq6000
run: |
multiqc --strict test_data/NovaSeq6000 -o test_output/NovaSeq6000
test -f test_output/NovaSeq6000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Test NovaSeqX
run: |
multiqc --strict test_data/NovaSeqX -o test_output/NovaSeqX
test -f test_output/NovaSeqX/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
- name: Check that ignoring samples works
run: |
multiqc --strict test_data/ -o test_output/ignore_samples --ignore-samples "*"
test ! -f test_output/ignore_samples/multiqc_report.html || (echo "ERROR: Report should not be generated" && exit 1)
- name: Upload test output
uses: actions/upload-artifact@v4
if: always()
with:
name: test-output-py${{ matrix.python-version }}
path: test_output/
retention-days: 7