@@ -2,11 +2,9 @@ name: ci
22
33on :
44 push :
5- branches :
6- - master
75 pull_request :
86 branches :
9- - master
7+ - main
108
119defaults :
1210 run :
@@ -25,32 +23,21 @@ jobs:
2523
2624 steps :
2725 - name : Checkout
28- uses : actions/checkout@v2
26+ uses : actions/checkout@v4
27+
28+ - name : Fetch all tags
29+ run : git fetch --depth=1 --tags
2930
3031 - name : Set up PDM
31- uses : pdm-project/setup-pdm@v2.6
32+ uses : pdm-project/setup-pdm@v4
3233 with :
3334 python-version : " 3.8"
3435
35- - name : Set cache variables
36- id : set_variables
37- run : |
38- echo "::set-output name=PIP_CACHE::$(pip cache dir)"
39- echo "::set-output name=PDM_CACHE::$(pdm config cache_dir)"
40-
41- - name : Set up cache
42- uses : actions/cache@v2
43- with :
44- path : |
45- ${{ steps.set_variables.outputs.PIP_CACHE }}
46- ${{ steps.set_variables.outputs.PDM_CACHE }}
47- key : checks-cache
48-
4936 - name : Resolving dependencies
50- run : pdm lock
37+ run : pdm lock -v --no-cross-platform -G ci-quality
5138
5239 - name : Install dependencies
53- run : pdm install -G duty -G docs -G quality -G typing -G security -G numpy-style
40+ run : pdm install -G ci- quality
5441
5542 - name : Check if the documentation builds correctly
5643 run : pdm run duty check-docs
@@ -64,48 +51,42 @@ jobs:
6451 - name : Check for vulnerabilities in dependencies
6552 run : pdm run duty check-dependencies
6653
54+ - name : Check for breaking changes in the API
55+ run : pdm run duty check-api
56+
6757 tests :
6858
6959 strategy :
60+ max-parallel : 4
7061 matrix :
7162 os :
7263 - ubuntu-latest
7364 - macos-latest
7465 - windows-latest
7566 python-version :
76- - " 3.7"
7767 - " 3.8"
7868 - " 3.9"
7969 - " 3.10"
80- - " 3.11-dev "
81-
70+ - " 3.11"
71+ - " 3.12 "
8272 runs-on : ${{ matrix.os }}
73+ continue-on-error : ${{ matrix.python-version == '3.12' }}
8374
8475 steps :
8576 - name : Checkout
86- uses : actions/checkout@v2
77+ uses : actions/checkout@v4
8778
8879 - name : Set up PDM
89- uses : pdm-project/setup-pdm@v2.6
80+ uses : pdm-project/setup-pdm@v4
9081 with :
9182 python-version : ${{ matrix.python-version }}
83+ allow-python-prereleases : true
9284
93- - name : Set cache variables
94- id : set_variables
95- run : |
96- echo "::set-output name=PIP_CACHE::$(pip cache dir)"
97- echo "::set-output name=PDM_CACHE::$(pdm config cache_dir)"
98-
99- - name : Set up cache
100- uses : actions/cache@v2
101- with :
102- path : |
103- ${{ steps.set_variables.outputs.PIP_CACHE }}
104- ${{ steps.set_variables.outputs.PDM_CACHE }}
105- key : tests-cache-${{ runner.os }}-${{ matrix.python-version }}
85+ - name : Resolving dependencies
86+ run : pdm lock -v --no-cross-platform -G ci-tests
10687
10788 - name : Install dependencies
108- run : pdm install --no-editable -G duty -G tests -G numpy-style
89+ run : pdm install --no-editable -G ci- tests
10990
11091 - name : Run the test suite
11192 run : pdm run duty test
0 commit comments