44 branches :
55 - main
66 pull_request :
7-
87jobs :
9-
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-
308 dist :
319 runs-on : ubuntu-latest
3210 steps :
3311 - uses : actions/checkout@v6
34- - uses : actions/setup-python@v6
12+ - uses : astral-sh/setup-uv@v7
13+ - run : uvx --from build pyproject-build --sdist --wheel
14+ - run : uvx twine check dist/*
15+ - uses : actions/upload-artifact@v6
3516 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/*
40-
17+ path : dist/*
4118 standardjs :
4219 runs-on : ubuntu-latest
4320 steps :
@@ -47,21 +24,15 @@ jobs:
4724 node-version-file : ' .nvmrc'
4825 - run : npm install -g standard
4926 - run : standard
50-
5127 docs :
5228 runs-on : ubuntu-latest
5329 steps :
5430 - uses : actions/checkout@v6
55- - uses : actions/setup-python@v6
56- with :
57- python-version : " 3.10"
5831 - 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
61-
32+ - uses : astral-sh/setup-uv@v7
33+ - run : uv run sphinx-build -W -b doctest -b html docs docs/_build
6234 PyTest :
6335 needs :
64- - lint
6536 - standardjs
6637 strategy :
6738 matrix :
@@ -76,33 +47,21 @@ jobs:
7647 runs-on : ubuntu-latest
7748 steps :
7849 - uses : actions/checkout@v6
79- - uses : actions /setup-python@v6
50+ - uses : astral-sh /setup-uv@v7
8051 with :
8152 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"
53+ - run : uv run --with Django~=${{ matrix.django-version }}.0 pytest -m "not selenium"
8554 - uses : codecov/codecov-action@v5
86-
8755 Selenium :
8856 needs :
89- - lint
9057 - standardjs
91- strategy :
92- matrix :
93- python-version :
94- - " 3.x"
9558 runs-on : ubuntu-latest
9659 steps :
9760 - uses : actions/checkout@v6
9861 - name : Install Selenium
9962 run : |
10063 curl -LsSfO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
10164 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
65+ - uses : astral-sh/setup-uv@v7
66+ - run : uv run pytest -m selenium
10867 - uses : codecov/codecov-action@v5
0 commit comments