Bump py-cov-action/python-coverage-comment-action from 3.37 to 3.39 #263
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: | |
| - master | |
| - develop | |
| concurrency: | |
| group: tests-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| tests: | |
| name: ${{ matrix.os }} / ${{ matrix.python-version }} / ${{ matrix.qt-version }} | |
| runs-on: ${{ matrix.image }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu, windows, macos-x86_64, macos-arm64] | |
| python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] | |
| qt-version: ["pyside2", "pyside6", "pyqt5", "pyqt6"] | |
| 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 | |
| exclude: | |
| # pyside2 does not publish arm64 packages | |
| - os: macos-arm64 | |
| qt-version: pyside2 | |
| # pyside2 requires python <3.11 | |
| - python-version: "3.11" | |
| qt-version: pyside2 | |
| - python-version: "3.12" | |
| qt-version: pyside2 | |
| - python-version: "3.13" | |
| qt-version: pyside2 | |
| # pyside6 and pyqt6 require python >=3.9 | |
| - python-version: "3.8" | |
| qt-version: pyside6 | |
| - python-version: "3.8" | |
| qt-version: pyqt6 | |
| fail-fast: false | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - 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: Setup python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| version: "0.8.3" | |
| enable-cache: true | |
| - name: Install qasync | |
| run: uv sync --locked --group dev | |
| - name: Install qt ${{ matrix.qt-version }} | |
| run: uv pip install ${{ matrix.qt-version }} | |
| - name: Run tests | |
| uses: coactions/setup-xvfb@v1 | |
| env: | |
| QT_API: "${{ matrix.qt_version }}" | |
| COVERAGE_FILE: ".coverage.${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.qt-version }}" | |
| with: | |
| run: uv run coverage run --context=${{matrix.qt-version}} | |
| - name: Upload coverage artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.qt-version }} | |
| path: .coverage.${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.qt-version }} | |
| include-hidden-files: true | |
| coverage: | |
| name: collect coverage | |
| runs-on: ubuntu-latest | |
| needs: tests | |
| permissions: | |
| pull-requests: write | |
| contents: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Download coverage artifacts | |
| uses: actions/download-artifact@v5 | |
| with: | |
| pattern: coverage-* | |
| merge-multiple: true | |
| - name: Coverage comment | |
| id: coverage_comment | |
| uses: py-cov-action/[email protected] | |
| with: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| MERGE_COVERAGE_FILES: true | |
| ANNOTATE_MISSING_LINES: true | |
| - name: Store coverage comment to be posted | |
| uses: actions/upload-artifact@v4 | |
| if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true' | |
| with: | |
| name: python-coverage-comment-action | |
| path: python-coverage-comment-action.txt |