build(deps): bump packaging from 25.0 to 26.2 #130
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: test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| pull_request: | |
| merge_group: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| MINIMUM_PYTHON_VERSION: "3.10" | |
| UV_VERSION: "0.9.1" | |
| jobs: | |
| coverage: | |
| # This action runs tests for coverage collection and uploads them to codecov.io. | |
| # This requires the secret `CODECOV_TOKEN` be set as secret on GitHub, both for | |
| # Actions and Dependabot | |
| name: "${{ matrix.os }} / ${{ matrix.python-version }} / coverage" | |
| strategy: | |
| max-parallel: 4 | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu] | |
| python-version: | |
| # remove the unused versions | |
| - "3.10" | |
| - "3.11" | |
| # - "3.12" TODO: memcache build fails | |
| # - "3.13" TODO: memcache build fails | |
| # - "3.14" TODO: memcache build fails | |
| runs-on: ${{ matrix.os }}-latest | |
| env: | |
| OS: ${{ matrix.os }}-latest | |
| PYTHON: ${{ matrix.python-version }} | |
| CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # 7.1.0 | |
| with: | |
| version: ${{ env.UV_VERSION }} | |
| enable-cache: true | |
| - name: Set up Python ${{ matrix.python-version }} | |
| id: setup-python | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: make install-dev | |
| - name: Run tests for coverage | |
| run: make test-w-coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| # directory: ./coverage | |
| env_vars: OS,PYTHON | |
| fail_ci_if_error: true | |
| files: ./coverage.xml | |
| # flags: unittests | |
| # name: codecov-umbrella | |
| verbose: true | |
| - name: Install codescene coverage tool | |
| if: ${{ env.CS_ACCESS_TOKEN != '' }} | |
| run: curl https://downloads.codescene.io/enterprise/cli/install-cs-coverage-tool.sh | bash -s -- -y | |
| - name: Upload coverage data to CodeScene | |
| if: ${{ env.CS_ACCESS_TOKEN != '' }} | |
| run: cs-coverage upload --format "lcov" --metric "line-coverage" coverage.lcov | |
| env: | |
| CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} | |
| doctests: | |
| # This action runs doctests for coverage collection and uploads them to codecov.io. | |
| # This requires the secret `CODECOV_TOKEN` be set as secret on GitHub, both for | |
| # Actions and Dependabot | |
| name: "${{ matrix.os }} / 3.10 / doctest" | |
| strategy: | |
| max-parallel: 4 | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu] | |
| runs-on: ${{ matrix.os }}-latest | |
| env: | |
| OS: ${{ matrix.os }}-latest | |
| CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v5.0.0 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # 7.1.0 | |
| with: | |
| version: ${{ env.UV_VERSION }} | |
| enable-cache: true | |
| - name: Set up Python ${{ env.MINIMUM_PYTHON_VERSION }} | |
| id: setup-python | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| with: | |
| python-version: ${{ env.MINIMUM_PYTHON_VERSION }} | |
| - name: Install dependencies | |
| run: make install-dev | |
| #---------------------------------------------- | |
| # Run tests and upload coverage | |
| #---------------------------------------------- | |
| - name: make doc-tests | |
| run: make doc-tests cov_report=xml | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| # directory: ./coverage | |
| env_vars: OS,PYTHON,TESTTYPE | |
| fail_ci_if_error: true | |
| files: ./coverage.xml | |
| # flags: unittests | |
| # name: codecov-umbrella | |
| verbose: true | |
| env: | |
| PYTHON: ${{ env.MINIMUM_PYTHON_VERSION }} | |
| TESTTYPE: doctest | |
| - name: Install codescene coverage tool | |
| if: ${{ env.CS_ACCESS_TOKEN != '' }} | |
| run: curl https://downloads.codescene.io/enterprise/cli/install-cs-coverage-tool.sh | bash -s -- -y | |
| - name: Upload coverage data to CodeScene | |
| if: ${{ env.CS_ACCESS_TOKEN != '' }} | |
| run: cs-coverage upload --format "lcov" --metric "line-coverage" coverage.lcov | |
| env: | |
| CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} | |
| # https://github.com/marketplace/actions/alls-green#why used for branch protection checks | |
| test-check: | |
| if: always() | |
| needs: | |
| - coverage | |
| - doctests | |
| runs-on: ubuntu-latest | |
| permissions: {} | |
| steps: | |
| - name: Decide whether the needed jobs succeeded or failed | |
| uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |