55 branches :
66 - main
77 - master
8+ - revamp
89 pull_request :
910 branches :
1011 - main
1516 runs-on : ubuntu-latest
1617 strategy :
1718 matrix :
18- python-version : ["3.10", "3.11", "3.12"]
19+ python-version : ["3.10", "3.11", "3.12", "3.13" ]
1920
2021 steps :
2122 - uses : actions/checkout@v4
@@ -28,35 +29,37 @@ jobs:
2829 - name : Install dependencies
2930 run : |
3031 python -m pip install --upgrade pip
31- pip install -e .[testing,linting]
32+ pip install pdm
33+ pdm install --group :all
3234
3335 - name : Lint with ruff
3436 run : |
35- ruff check .
37+ pdm run ruff check .
3638
3739 - name : Format check with black
3840 run : |
39- black --check .
41+ pdm run black --check .
4042
4143 - name : Type check with mypy
4244 run : |
43- mypy garminconnect --ignore-missing-imports
45+ pdm run mypy garminconnect --ignore-missing-imports
4446
4547 - name : Test with pytest
4648 env :
4749 GARMINTOKENS : ${{ secrets.GARMINTOKENS }}
4850 run : |
49- pytest tests/ -v --tb=short
51+ # Use existing VCR cassettes for CI to avoid network calls
52+ pdm run pytest tests/ -v --tb=short --vcr-record=none
53+ continue-on-error : false
5054
5155 - name : Upload coverage reports
5256 if : matrix.python-version == '3.11'
5357 env :
5458 GARMINTOKENS : ${{ secrets.GARMINTOKENS }}
5559 run : |
56- pip install coverage[toml]
57- coverage run -m pytest -v --tb=short
58- coverage xml
59- continue-on-error: true
60+ pdm run coverage run -m pytest -v --tb=short --vcr-record=none
61+ pdm run coverage xml
62+ continue-on-error : true
6063
6164 - name : Upload coverage artifact
6265 if : matrix.python-version == '3.11'
0 commit comments