Skip to content

Commit 3a0cc1b

Browse files
committed
Migrate pypi tests into CI workflow
1 parent d330537 commit 3a0cc1b

File tree

1 file changed

+75
-5
lines changed

1 file changed

+75
-5
lines changed

.github/workflows/ci.yml

Lines changed: 75 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,82 @@ jobs:
2020
Builds:
2121
uses: ./.github/workflows/packages.yml
2222

23-
TestsPyPI:
23+
PyPITests:
2424
needs: Builds
25-
uses: ./.github/workflows/tests-pypi.yml
26-
with:
27-
install-flags: --no-index --find-links ./wheelhouse/
28-
download-name: wheels-${{ runner.name }}
25+
# name: PyPI Tests
26+
name: ${{ matrix.python-version }} ${{ matrix.dep-versions }} ${{ matrix.no-extras }}
27+
runs-on: ${{ matrix.platform }}
28+
env:
29+
INSTALL_FLAGS: ''
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
platform: ["ubuntu-latest", "macos-latest", "macos-15-intel", "windows-latest", "windows-11-arm"]
34+
python-version: [3.11, 3.12, 3.13, 3.14]
35+
dep-versions: [Latest]
36+
no-extras: ['']
37+
include:
38+
- python-version: 3.11
39+
dep-versions: Minimum
40+
- python-version: 3.11
41+
dep-versions: Minimum
42+
no-extras: 'No Extras'
43+
- python-version: 3.14
44+
dep-versions: Latest
45+
no-extras: 'No Extras'
46+
47+
steps:
48+
- name: Checkout source
49+
uses: actions/checkout@v6
50+
with:
51+
fetch-depth: 150
52+
fetch-tags: true
53+
persist-credentials: false
54+
55+
- uses: actions/download-artifact@v8
56+
57+
- name: Set flag to install minimum dependencies
58+
if: ${{ matrix.dep-versions == 'Minimum' }}
59+
run: echo "INSTALL_FLAGS=${{ ${{ env.INSTALL_FLAGS }} --resolution=lowest-direct" >> $GITHUB_ENV
60+
61+
- name: Install from PyPI
62+
uses: ./.github/actions/install-pypi
63+
with:
64+
need-extras: ${{ matrix.no-extras != 'No Extras' }}
65+
type: 'test'
66+
python-version: ${{ matrix.python-version }}
67+
old-build: ${{ matrix.no-extras != 'No Extras' && matrix.dep-versions == 'Minimum' }}
68+
need-cartopy: ${{ matrix.no-extras != 'No Extras' }}
69+
install-flags: ${{ env.INSTALL_FLAGS }}
70+
71+
- name: Run tests
72+
uses: ./.github/actions/run-tests
73+
with:
74+
run-doctests: ${{ matrix.dep-versions == 'Latest' && matrix.no-extras != 'No Extras' }}
75+
key: pypi-${{ matrix.python-version }}-${{ matrix.dep-versions }}-${{ matrix.no-extras }}-${{ runner.os }}
76+
77+
codecov:
78+
needs: PyPITests
79+
name: CodeCov Upload
80+
runs-on: ubuntu-slim
81+
environment:
82+
name: CodeCov
83+
timeout-minutes: 2
84+
steps:
85+
- name: Checkout source
86+
uses: actions/checkout@v6
87+
with:
88+
persist-credentials: false
89+
90+
- name: Download coverage artifacts
91+
uses: actions/download-artifact@v7
92+
93+
- name: Upload coverage
94+
uses: codecov/codecov-action@v5
95+
with:
96+
name: PyPI
97+
fail_ci_if_error: true
98+
token: ${{ secrets.CODECOV_TOKEN }}
2999

30100
# TestsSDist:
31101

0 commit comments

Comments
 (0)