@@ -3,23 +3,22 @@ name: CI
33on : [push, pull_request]
44
55jobs :
6- run-make :
7- name : ${{ matrix.name }}
6+ ci :
87 runs-on : ubuntu-latest
98 strategy :
109 fail-fast : false
1110 matrix :
12- include :
13- - { name: "make check", cmd: "make check" }
14- - { name: "make test", cmd: "make test" }
15- - { name: "make format --check", cmd: "make format FLAGS=--check" }
11+ python-version : ['3.12', '3.13', '3.14']
12+ task : [ check, test, format]
13+ name : ${{ matrix.task }} (py ${{ matrix.python-version }})
14+
1615 steps :
1716 - uses : actions/checkout@v4
1817
1918 - name : Set up Python
2019 uses : actions/setup-python@v5
2120 with :
22- python-version : ' 3.12 '
21+ python-version : ${{ matrix.python-version }}
2322
2423 - name : Cache uv
2524 uses : actions/cache@v4
@@ -30,10 +29,13 @@ jobs:
3029 key : ${{ runner.os }}-uv-${{ hashFiles('**/uv.lock', '**/pyproject.toml') }}
3130 restore-keys : ${{ runner.os }}-uv-
3231
33- - name : Install uv
32+ - name : Select command
3433 run : |
35- set -euxo pipefail
36- curl -LsSf https://astral.sh/uv/install.sh | sh
37- echo "$HOME/.local/bin" >> $GITHUB_PATH
34+ case "${{ matrix.task }}" in
35+ check) echo "CMD=make check" >> $GITHUB_ENV ;;
36+ test) echo "CMD=make test" >> $GITHUB_ENV ;;
37+ format) echo "CMD=make format FLAGS=--check" >> $GITHUB_ENV ;;
38+ esac
3839
39- - run : ${{ matrix.cmd }}
40+ - name : Run
41+ run : $CMD
0 commit comments