🔖 Release v0.4.0 #302
This file contains hidden or 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: Run CI | |
| # Run this workflow every time a new commit pushed to your repository | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - '*' | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python: ['3.12', '3.13'] | |
| django: ['4.2', '5.2'] | |
| browser: ['chromium', 'firefox', 'webkit'] | |
| exclude: | |
| - python: '3.13' | |
| django: '4.2' | |
| name: Run the test suite (Python ${{ matrix.python }}, Django ${{ matrix.django }}, ${{ matrix.browser }}) | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2-dev pkg-config | |
| - name: Install dependencies | |
| run: pip install tox tox-gh-actions | |
| - name: Install Playwright system dependencies | |
| run: | | |
| pip install playwright | |
| playwright install-deps | |
| - name: Run tests | |
| run: tox | |
| env: | |
| PYTHON_VERSION: ${{ matrix.python }} | |
| DJANGO: ${{ matrix.django }} | |
| PLAYWRIGHT_BROWSER: ${{ matrix.browser }} | |
| - name: Upload Playwright videos | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-videos-py${{ matrix.python }}-django${{ matrix.django }}-${{ matrix.browser }} | |
| path: playwright-videos/ | |
| if-no-files-found: ignore | |
| - name: Publish coverage report | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| nofiler-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python: ['3.12', '3.13'] | |
| django: ['4.2', '5.2'] | |
| exclude: | |
| - python: '3.13' | |
| django: '4.2' | |
| name: Run nofiler tests (Python ${{ matrix.python }}, Django ${{ matrix.django }}) | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libcairo2-dev pkg-config | |
| - name: Install dependencies | |
| run: pip install tox tox-gh-actions | |
| - name: Run nofiler tests | |
| run: tox | |
| env: | |
| PYTHON_VERSION: ${{ matrix.python }} | |
| DJANGO: ${{ matrix.django }} | |
| VARIANT: nofiler | |
| - name: Publish coverage report | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| publish: | |
| name: Publish package to PyPI | |
| runs-on: ubuntu-latest | |
| needs: [tests, nofiler-tests] | |
| environment: release | |
| permissions: | |
| id-token: write | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Build sdist and wheel | |
| run: | | |
| pip install build --upgrade | |
| python -m build | |
| - name: Publish a Python distribution to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |