@@ -5,59 +5,71 @@ on: [push, pull_request, workflow_dispatch]
55jobs :
66
77 build :
8- runs-on : ubuntu-20 .04
8+ runs-on : ubuntu-24 .04
99 env :
10- GHA_DISTRO : ubuntu-20 .04
10+ GHA_DISTRO : ubuntu-24 .04
1111 if : " !contains(github.event.head_commit.message, 'skip ci')"
1212 strategy :
1313 matrix :
14- python-version : [3.6 ]
14+ python-version : [3.13 ]
1515 steps :
1616 - name : Git checkout
17- uses : actions/checkout@v2
17+ uses : actions/checkout@v3
18+
1819 - name : Set up Python ${{ matrix.python-version }}
19- uses : actions/setup-python@v2
20+ uses : actions/setup-python@v4
2021 with :
2122 python-version : ${{ matrix.python-version }}
23+
2224 - name : Cache Build Requirements
2325 id : pip-cache-step
24- uses : actions/cache@v2
26+ uses : actions/cache@v4
2527 with :
26- path : ${{ env.pythonLocation }}
27- key : ${{ env.GHA_DISTRO }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt ', 'dev-requirements.txt ') }}
28- - name : install dependencies
29- if : steps.pip-cache-step.outputs.cache-hit != 'true'
28+ path : ~/.cache/pip
29+ key : ${{ env.GHA_DISTRO }}-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml ', 'poetry.lock ') }}
30+
31+ - name : Install dependencies
3032 run : |
31- python -m pip install --upgrade pip
32- pip install -r dev-requirements.txt
33+ python -m pip install poetry==2.1.2 setuptools==80.1.0
34+ poetry install --no-root --without=docs --with=dev
3335
3436 runtests :
3537 name : Run unit tests
3638 needs : build
37- runs-on : ubuntu-20 .04
39+ runs-on : ubuntu-24 .04
3840 env :
39- GHA_DISTRO : ubuntu-20.04
41+ GHA_DISTRO : ubuntu-24.04
42+ strategy :
43+ matrix :
44+ python-version : [3.13]
4045 steps :
41- - uses : actions/checkout@v2
42- - name : Set up Python 3.6
43- uses : actions/setup-python@v2
46+ - uses : actions/checkout@v3
47+
48+ - name : Set up Python ${{ matrix.python-version }}
49+ uses : actions/setup-python@v4
4450 with :
45- python-version : 3.6
51+ python-version : ${{ matrix.python-version }}
52+
4653 - name : Cache pip
47- uses : actions/cache@v2
54+ uses : actions/cache@v4
4855 with :
49- path : ${{ env.pythonLocation }}
50- key : ${{ env.GHA_DISTRO }}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt', 'dev-requirements.txt') }}
51- - name : run syntax checks
52- run : |
53- flake8 .
54- - name : build plugins
56+ path : ~/.cache/pip
57+ key : ${{ env.GHA_DISTRO }}-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml', 'poetry.lock') }}
58+
59+ - name : Install test dependencies
5560 run : |
56- python setup.py develop
57- - name : run unit tests
61+ python -m pip install poetry==2.1.2
62+ python -m pip install setuptools==80.1.0
63+ poetry install --without=docs --with=dev
64+
65+ - name : Run flake8
66+ run : poetry run flake8 .
67+
68+ - name : Run unit tests
5869 run : |
59- py.test --cov-report term-missing --cov mfr tests
60- - name : Upload coverage data to coveralls.io
61- run : coveralls --service=github
70+ poetry run pytest --cov-report term-missing --cov mfr tests
71+
72+ - name : Upload coverage to Coveralls
73+ run : poetry run coveralls --service=github
6274 env :
6375 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments