Skip to content

Commit 7aa5bd7

Browse files
authored
Update CI (MDAnalysis#66)
* fix MDAnalysis#65 * Update CI: manually set the test matrix for MDAnalysis * Update pyproject.toml * Update CHANGELOG.md * Update CHANGELOG.md
1 parent 3839a76 commit 7aa5bd7

3 files changed

Lines changed: 25 additions & 33 deletions

File tree

.github/workflows/gh-ci.yaml

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,25 @@ defaults:
2323
shell: bash -l {0}
2424

2525
jobs:
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

@@ -63,7 +53,7 @@ jobs:
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: |

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ The rules for this file:
3232

3333
### Changed
3434
- Update CI and wheel deployment to include macos-arm64 and py3.12 (PR #63)
35+
- Minimum Python version has been raised to 3.10 (PR #66)
36+
- Minimum MDAnalysis version has been raised to 2.1.0 (PR #66)
3537

3638
### Deprecated
3739
<!-- Soon-to-be removed features -->

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ classifiers = [
3535
"Operating System :: POSIX",
3636
"Programming Language :: C",
3737
"Programming Language :: Python",
38-
"Programming Language :: Python :: 3.9",
3938
"Programming Language :: Python :: 3.10",
4039
"Programming Language :: Python :: 3.11",
40+
"Programming Language :: Python :: 3.12",
4141
"Topic :: Scientific/Engineering",
4242
"Topic :: Software Development :: Libraries :: Python Modules",
4343
]
4444
readme = "README.md"
45-
requires-python = ">=3.9"
45+
requires-python = ">=3.10"
4646
dependencies = [
47-
"MDAnalysis>=2.0.0",
47+
"MDAnalysis>=2.1.0",
4848
"joblib",
4949
"numpy",
5050
"scipy",

0 commit comments

Comments
 (0)