@@ -13,46 +13,50 @@ jobs:
1313 fail-fast : false
1414 matrix :
1515 os : [ubuntu-latest, macOS-latest, windows-latest]
16- python-version : ["3.8", "3.9", "3.10", "3.11", "3.12"]
16+ python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
17+ exclude :
18+ # exclude while some tests fail due to a known issue in pyfakefs
19+ - python-version : " 3.13"
20+ os : macOS-latest
1721 steps :
18- - uses : actions/checkout@v4
19- - name : Set up Python ${{ matrix.python-version }}
20- uses : actions/setup-python@v5
21- with :
22- python-version : ${{ matrix.python-version }}
23-
24- - name : Cache DICOM standard
25- id : cache-dicom
26- uses : actions/cache@v4
27- with :
28- path : dicom_validator/tests/fixtures/standard
29- key : " 2015b_2024e"
30- enableCrossOsArchive : true
31-
32- - name : Download DICOM standard
33- if : steps.cache-dicom.outputs.cache-hit != 'true'
34- run : |
35- pip install -e .
36- python .github/workflows/get_revision.py 2015b "`pwd`/dicom_validator/tests/fixtures/standard"
37- python .github/workflows/get_revision.py 2024e "`pwd`/dicom_validator/tests/fixtures/standard"
38-
39- - name : Install dependencies
40- run : |
41- python -m pip install --upgrade pip
42- pip install -r requirements-dev.txt
43- pip install -e .
44-
45- - name : Run tests with coverage
46- run : |
47- if [[ '${{ matrix.os }}' == 'ubuntu-latest' && '${{ matrix.python-version }}' == '3.10' ]]
48- then
49- python -m pytest --cov=dicom_validator --cov-config=.coveragerc dicom_validator
50- else
51- python -m pytest dicom_validator
52- fi
53-
54- - name : Upload coverage to Codecov
55- uses : codecov/codecov-action@v5
56- if : ${{ success() && matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' }}
57- with :
58- name : codecov-dicom-validator
22+ - uses : actions/checkout@v4
23+ - name : Set up Python ${{ matrix.python-version }}
24+ uses : actions/setup-python@v5
25+ with :
26+ python-version : ${{ matrix.python-version }}
27+
28+ - name : Cache DICOM standard
29+ id : cache-dicom
30+ uses : actions/cache@v4
31+ with :
32+ path : dicom_validator/tests/fixtures/standard
33+ key : " 2015b_2024e"
34+ enableCrossOsArchive : true
35+
36+ - name : Download DICOM standard
37+ if : steps.cache-dicom.outputs.cache-hit != 'true'
38+ run : |
39+ pip install -e .
40+ python .github/workflows/get_revision.py 2015b "`pwd`/dicom_validator/tests/fixtures/standard"
41+ python .github/workflows/get_revision.py 2024e "`pwd`/dicom_validator/tests/fixtures/standard"
42+
43+ - name : Install dependencies
44+ run : |
45+ python -m pip install --upgrade pip
46+ pip install -r requirements-dev.txt
47+ pip install -e .
48+
49+ - name : Run tests with coverage
50+ run : |
51+ if [[ '${{ matrix.os }}' == 'ubuntu-latest' && '${{ matrix.python-version }}' == '3.10' ]]
52+ then
53+ python -m pytest --cov=dicom_validator --cov-config=.coveragerc dicom_validator
54+ else
55+ python -m pytest dicom_validator
56+ fi
57+
58+ - name : Upload coverage to Codecov
59+ uses : codecov/codecov-action@v5
60+ if : ${{ success() && matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' }}
61+ with :
62+ name : codecov-dicom-validator
0 commit comments