77
88jobs :
99
10- lint :
11- runs-on : ubuntu-latest
12- strategy :
13- matrix :
14- lint-command :
15- - bandit -r . -x ./tests
16- - black --check --diff .
17- - flake8 .
18- - isort --check-only --diff .
19- - pydocstyle .
20- steps :
21- - uses : actions/checkout@v6
22- - uses : actions/setup-python@v6
23- with :
24- python-version : " 3.x"
25- cache : ' pip'
26- cache-dependency-path : ' linter-requirements.txt'
27- - run : python -m pip install -r linter-requirements.txt
28- - run : ${{ matrix.lint-command }}
29-
3010 dist :
3111 runs-on : ubuntu-latest
3212 steps :
3313 - uses : actions/checkout@v6
34- - uses : actions/setup-python@v6
14+ - uses : astral-sh/setup-uv@v7
15+ - run : uvx --from build pyproject-build --sdist --wheel
16+ - run : uvx twine check dist/*
17+ - uses : actions/upload-artifact@v6
3518 with :
36- python-version : " 3.x"
37- - run : python -m pip install --upgrade pip build wheel twine readme-renderer
38- - run : python -m build --sdist --wheel
39- - run : python -m twine check dist/*
19+ path : dist/*
4020
4121 standardjs :
4222 runs-on : ubuntu-latest
@@ -52,16 +32,12 @@ jobs:
5232 runs-on : ubuntu-latest
5333 steps :
5434 - uses : actions/checkout@v6
55- - uses : actions/setup-python@v6
56- with :
57- python-version : " 3.10"
5835 - run : sudo apt-get install -y gettext graphviz
59- - run : python -m pip install -e .[docs]
60- - run : python -m sphinx -W -b doctest -b html docs docs/_build
36+ - uses : astral-sh/setup-uv@v7
37+ - run : uv run sphinx-build -W -b doctest -b html docs docs/_build
6138
6239 PyTest :
6340 needs :
64- - lint
6541 - standardjs
6642 strategy :
6743 matrix :
@@ -76,33 +52,22 @@ jobs:
7652 runs-on : ubuntu-latest
7753 steps :
7854 - uses : actions/checkout@v6
79- - uses : actions /setup-python@v6
55+ - uses : astral-sh /setup-uv@v7
8056 with :
8157 python-version : ${{ matrix.python-version }}
82- - run : python -m pip install Django~="${{ matrix.django-version }}.0"
83- - run : python -m pip install -e .[test]
84- - run : python -m pytest -m "not selenium"
58+ - run : uv run --with Django~=${{ matrix.django-version }}.0 pytest -m "not selenium"
8559 - uses : codecov/codecov-action@v5
8660
8761 Selenium :
8862 needs :
89- - lint
9063 - standardjs
91- strategy :
92- matrix :
93- python-version :
94- - " 3.x"
9564 runs-on : ubuntu-latest
9665 steps :
9766 - uses : actions/checkout@v6
9867 - name : Install Selenium
9968 run : |
10069 curl -LsSfO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
10170 sudo dpkg -i google-chrome-stable_current_amd64.deb || sudo apt-get -f install -y
102- - uses : actions/setup-python@v6
103- with :
104- python-version : ${{ matrix.python-version }}
105- - run : python -m pip install Django
106- - run : python -m pip install -e .[test,selenium]
107- - run : python -m pytest -m selenium
71+ - uses : astral-sh/setup-uv@v7
72+ - run : uv run pytest -m selenium
10873 - uses : codecov/codecov-action@v5
0 commit comments