All the cool kids are using uv now, lets try it #185
Workflow file for this run
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: Tests | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - develop | |
| pull_request: | |
| branches: | |
| - "*" | |
| concurrency: | |
| group: tests-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| tests: | |
| name: ${{ matrix.os }} | |
| runs-on: ${{ matrix.image }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu, windows, macos-x86_64, macos-arm64] | |
| include: | |
| - os: ubuntu | |
| image: ubuntu-24.04 | |
| - os: windows | |
| image: windows-2022 | |
| - os: macos-x86_64 | |
| image: macos-13 | |
| - os: macos-arm64 | |
| image: macos-14 | |
| fail-fast: false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install libxcb dependencies | |
| if: ${{ matrix.os == 'ubuntu' }} | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| sudo apt-get -qq update | |
| sudo apt-get -qq install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl-dev | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| version: "0.8.3" | |
| enable-cache: true | |
| - name: Test python/qt combinations | |
| uses: coactions/setup-xvfb@v1 | |
| with: | |
| run: bash scripts/test-matrix.sh --parallel | |
| - name: Collect test coverage | |
| run: | | |
| uv run coverage combine --quiet | |
| uv run coverage report --sort=cover | |
| mv .coverage .coverage.${{ matrix.os }} | |
| - name: Upload coverage artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-${{ matrix.os }} | |
| path: .coverage.${{ matrix.os }} | |
| include-hidden-files: true | |
| combine-coverage: | |
| needs: tests | |
| name: report test coverage | |
| runs-on: ubuntu-latest | |
| permissions: | |
| # new coverage reports in pull requests | |
| pull-requests: write | |
| # pushing to python-coverage-comment-action branch for editing existing comments | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Download coverage artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: coverage-* | |
| merge-multiple: true | |
| - name: Coverage report | |
| uses: py-cov-action/python-coverage-comment-action@v3.35 | |
| with: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| MERGE_COVERAGE_FILES: true | |
| # - name: Collect test coverage | |
| # run: | | |
| # pip install coverage | |
| # coverage combine --quiet coverage/ | |
| # - name: Comment with coverage report | |
| # uses: MishaKav/pytest-coverage-comment@v1 |