1- name : " Build - Linux"
2- on : [push, pull_request]
1+ name : Generate test reports
2+
3+ on :
4+ push :
5+ branches : [main, dev]
6+ pull_request :
37
48jobs :
59 run_multiqc :
610 name : Linux - Python ${{ matrix.python-version }}
711 runs-on : ubuntu-latest
812 strategy :
13+ fail-fast : false
914 matrix :
10- python-version : [3.11, 3.12, 3.13 ]
15+ python-version : ["3.9", "3.14" ]
1116 timeout-minutes : 10
1217
1318 steps :
14- # Check out MultiQC code
15- - uses : actions/checkout@v2
19+ - name : Checkout code
20+ uses : actions/checkout@v4
1621
17- # Set up Python
1822 - name : Set up Python ${{ matrix.python-version }}
19- uses : actions/setup-python@v1
23+ uses : actions/setup-python@v5
2024 with :
2125 python-version : ${{ matrix.python-version }}
2226
23- # Update pip and install beautifulsoup4 for CI tests (CSP checking)
24- - name : Install dependencies for CI tests
27+ - name : Install dependencies
2528 run : |
26- python -m pip install --upgrade pip setuptools beautifulsoup4 multiqc
29+ python -m pip install --upgrade pip setuptools wheel
30+ pip install multiqc
2731
28- # Install MultiQC
2932 - name : Install MultiQC_SAV
3033 run : pip install .
3134
32- # Run all of the tests!
33- - name : MiSeq
34- run : multiqc -m SAV test_data/MiSeq
35+ - name : Make test output dir
36+ run : mkdir test_output
3537
36- - name : MiSeqI100
37- run : multiqc --strict -v --no-version-check -m SAV test_data/MiSeqI100
38+ - name : Test MiSeq
39+ run : |
40+ multiqc --strict test_data/MiSeq -o test_output/MiSeq
41+ test -f test_output/MiSeq/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
3842
39- - name : HiSeq3000
40- run : multiqc --strict -v --no-version-check -m SAV test_data/HiSeq3000
43+ - name : Test MiSeqI100
44+ run : |
45+ multiqc --strict test_data/MiSeqI100 -o test_output/MiSeqI100
46+ test -f test_output/MiSeqI100/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
4147
42- - name : NextSeq500
43- run : multiqc --strict -v --no-version-check -m SAV test_data/NextSeq500
48+ - name : Test HiSeq3000
49+ run : |
50+ multiqc --strict test_data/HiSeq3000 -o test_output/HiSeq3000
51+ test -f test_output/HiSeq3000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
4452
45- - name : NextSeq2000
46- run : multiqc --strict -v --no-version-check -m SAV test_data/NextSeq2000
53+ - name : Test NextSeq500
54+ run : |
55+ multiqc --strict test_data/NextSeq500 -o test_output/NextSeq500
56+ test -f test_output/NextSeq500/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
4757
48- - name : NovaSeq6000
49- run : multiqc --strict -v --no-version-check -m SAV test_data/NovaSeq6000
58+ - name : Test NextSeq2000
59+ run : |
60+ multiqc --strict test_data/NextSeq2000 -o test_output/NextSeq2000
61+ test -f test_output/NextSeq2000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
5062
51- - name : NovaSeqX
52- run : multiqc --strict -v --no-version-check -m SAV test_data/NovaSeqX
63+ - name : Test NovaSeq6000
64+ run : |
65+ multiqc --strict test_data/NovaSeq6000 -o test_output/NovaSeq6000
66+ test -f test_output/NovaSeq6000/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
67+
68+ - name : Test NovaSeqX
69+ run : |
70+ multiqc --strict test_data/NovaSeqX -o test_output/NovaSeqX
71+ test -f test_output/NovaSeqX/multiqc_report.html || (echo "ERROR: Report not generated" && exit 1)
72+
73+ - name : Check that ignoring samples works
74+ run : |
75+ multiqc --strict test_data/ -o test_output/ignore_samples --ignore-samples "*"
76+ test ! -f test_output/ignore_samples/multiqc_report.html || (echo "ERROR: Report should not be generated" && exit 1)
77+
78+ - name : Upload test output
79+ uses : actions/upload-artifact@v4
80+ if : always()
81+ with :
82+ name : test-output-py${{ matrix.python-version }}
83+ path : test_output/
84+ retention-days : 7
0 commit comments