Refactor SAV module to follow MultiQC best practices (#11) #46
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: 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 |