@@ -23,35 +23,25 @@ defaults:
2323 shell : bash -l {0}
2424
2525jobs :
26- environment-config :
27- runs-on : ubuntu-latest
28- outputs :
29- stable-python-version : ${{ steps.get-compatible-python.outputs.stable-python }}
30- latest-python-version : ${{ steps.get-compatible-python.outputs.latest-python }}
31- python-matrix : ${{ steps.get-compatible-python.outputs.python-versions }}
32- steps :
33- - uses : actions/setup-python@v4
34- with :
35- python-version : " 3.11"
36-
37- - id : get-compatible-python
38- uses : MDAnalysis/mdanalysis-compatible-python@main
39- with :
40- release : " latest"
41-
4226 main-tests :
4327 if : " github.repository == 'MDAnalysis/mdaencore'"
44- needs : environment-config
4528 runs-on : ${{ matrix.os }}
4629 strategy :
4730 fail-fast : false
4831 matrix :
49- os : [macOS-latest, ubuntu-latest, windows-latest, macos-14]
50- python-version : ${{ fromJSON(needs.environment-config.outputs.python-matrix) }}
32+ # macos-13 is x86_64 and macos-14 is arm64
33+ os : [ubuntu-latest, windows-latest, macos-14, macos-13]
34+ python-version : ["3.10", "3.11", "3.12"]
5135 mdanalysis-version : ["latest", "develop"]
36+ # Manually exclude any combinations of the test matrix that can't be run
37+ exclude :
38+ # The latest release of MDAnalysis only supports up to Python 3.11
39+ # so we exclude 3.12 from the test matrix (issue #68)
40+ - python-version : " 3.12"
41+ mdanalysis-version : " latest"
5242
5343 steps :
54- - uses : actions/checkout@v3
44+ - uses : actions/checkout@v4
5545 with :
5646 fetch-depth : 0
5747
6353
6454 # More info on options: https://github.com/conda-incubator/setup-miniconda
6555 - name : Install conda dependencies
66- uses : conda-incubator/setup-miniconda@v2
56+ uses : conda-incubator/setup-miniconda@v3
6757 with :
6858 python-version : ${{ matrix.python-version }}
6959 environment-file : devtools/conda-envs/test_env.yaml
@@ -108,29 +98,30 @@ jobs:
10898
10999 - name : Run tests
110100 run : |
111- pytest -n 2 -v --cov=mdaencore --cov-report=xml --color=yes --pyargs mdaencore
101+ pytest -n auto -v --cov=mdaencore --cov-report=xml --color=yes --pyargs mdaencore
112102
113103 - name : codecov
114104 if : github.repository == 'MDAnalysis/mdaencore' && github.event_name != 'schedule'
115- uses : codecov/codecov-action@v3
105+ uses : codecov/codecov-action@v4
116106 with :
117107 file : coverage.xml
118108 name : codecov-${{ matrix.os }}-py${{ matrix.python-version }}
109+ token : ${{ secrets.CODECOV_TOKEN }}
119110 verbose : True
111+ fail_ci_if_error : True
120112
121113
122114 pylint_check :
123115 if : " github.repository == 'MDAnalysis/mdaencore'"
124- needs : environment-config
125116 runs-on : ubuntu-latest
126117
127118 steps :
128- - uses : actions/checkout@v3
119+ - uses : actions/checkout@v4
129120
130121 - name : Set up Python
131122 uses : actions/setup-python@v4
132123 with :
133- python-version : ${{ needs.environment-config.outputs.stable-python-version }}
124+ python-version : " 3.11 "
134125
135126 - name : Install Pylint
136127 run : |
@@ -147,16 +138,15 @@ jobs:
147138
148139 pypi_check :
149140 if : " github.repository == 'MDAnalysis/mdaencore'"
150- needs : environment-config
151141 runs-on : ubuntu-latest
152142
153143 steps :
154- - uses : actions/checkout@v3
144+ - uses : actions/checkout@v4
155145
156- - name : Set up Python ${{ needs.environment-config.outputs.stable-python-version }}
146+ - name : Set up Python
157147 uses : actions/setup-python@v4
158148 with :
159- python-version : ${{ needs.environment-config.outputs.stable-python-version }}
149+ python-version : " 3.11 "
160150
161151 - name : Install dependencies
162152 run : |
0 commit comments