-
-
Notifications
You must be signed in to change notification settings - Fork 208
Tests #2276
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: | |
| pull_request: | |
| schedule: | |
| - cron: "0 8 * * *" | |
| concurrency: | |
| group: >- | |
| ${{ github.workflow }}- | |
| ${{ github.ref_type }}- | |
| ${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash -eux {0} | |
| jobs: | |
| tests: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| python-version: ["3.9", "3.13", "3.14", "3.14t"] | |
| include: | |
| - os: ubuntu-latest | |
| python-version: "3.10" | |
| - os: ubuntu-latest | |
| python-version: "3.11" | |
| - os: ubuntu-latest | |
| python-version: "3.12" | |
| - os: ubuntu-latest | |
| python-version: "pypy-3.10" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Run Tests | |
| run: hatch run cov:test | |
| - uses: jupyterlab/maintainer-tools/.github/actions/upload-coverage@v1 | |
| coverage: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - tests | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/report-coverage@v1 | |
| test_minimum_versions: | |
| name: Test Minimum Versions | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Base Setup | |
| uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| with: | |
| dependency_type: minimum | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Run the unit tests | |
| run: | | |
| hatch run test:nowarn || hatch -v run test:nowarn --lf | |
| test_lint: | |
| name: Test Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Run Linters | |
| run: | | |
| hatch run typing:test | |
| hatch run lint:build | |
| pipx run 'validate-pyproject[all]' pyproject.toml | |
| pipx run doc8 --max-line-length=200 | |
| test_docs: | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Build the docs | |
| run: hatch run docs:build | |
| test_prereleases: | |
| name: Test Prereleases | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Base Setup | |
| uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| with: | |
| dependency_type: pre | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Run the tests | |
| run: | | |
| hatch run test:nowarn || hatch run test:nowarn --lf | |
| make_sdist: | |
| name: Make SDist | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/make-sdist@v1 | |
| test_sdist: | |
| runs-on: ubuntu-latest | |
| needs: [make_sdist] | |
| name: Install from SDist and Test | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/test-sdist@v1 | |
| check_links: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1 | |
| check_release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Base Setup | |
| uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 | |
| - name: Pin virtualenv to pre-breaking major version | |
| run: pipx inject --force hatch "virtualenv<21" | |
| - name: Install Dependencies | |
| run: | | |
| pip install -e . | |
| - name: Check Release | |
| uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| tests_check: # This job does nothing and is only used for the branch protection | |
| if: always() | |
| needs: | |
| - coverage | |
| - test_lint | |
| - test_docs | |
| - test_minimum_versions | |
| - test_prereleases | |
| - check_links | |
| - check_release | |
| - test_sdist | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Decide whether the needed jobs succeeded or failed | |
| uses: re-actors/alls-green@release/v1 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |