improve changelog/release handling #865
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: flake8-async CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
# pyright can't run in pre-commit CI as it requires an internet connection | |
# so we instead run it directly as a GitHub action | |
pyright: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
cache: pip | |
- name: Install typing dependencies | |
run: pip install -r requirements-typing.txt | |
- uses: jakebailey/pyright-action@v2 | |
with: | |
# Use exit code of 1 if warnings are reported. | |
warnings: true | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip setuptools tox | |
- name: Run tests with flake8_6 | |
run: python -m tox -e flake8_6 | |
- name: Run tests with flake8_7+ | |
run: python -m tox -e flake8_7 | |
slow_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox | |
python -m tox --notest --recreate -e flake8_7 | |
- name: Run tests | |
run: python -m tox -e flake8_7 -- --onlyfuzz --no-cov -n auto | |
check_release: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
- name: Test changelog & version | |
run: python tests/check_changelog_and_version.py | |
release: | |
runs-on: ubuntu-latest | |
needs: [pyright, test, check_release] | |
if: github.repository == 'python-trio/flake8-async' && github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3 | |
uses: actions/setup-python@v5 | |
- name: Install tools | |
run: python -m pip install --upgrade build pip setuptools wheel twine gitpython | |
- name: Upload new release | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} | |
run: | | |
python -m build && twine upload --skip-existing dist/* |