/
niceSOFT
/
python3-typing-extensions
Обзор
Документация
Войти
/
niceSOFT
/
python3-typing-extensions
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/ci.yml
155 строк
5 KB
Sebastian Rittau
Use full versions in GitHub action comments (#778)
02 июл 2026, 20:02
Не верифицирован
02 июл 2026, 20:02
c461223
Код
Авторство
О чём код?
name: Test and lint on: schedule: - cron: "0 2 * * *" # 2am UTC push: branches: - main pull_request: workflow_dispatch: permissions: contents: read env: FORCE_COLOR: 1 PIP_DISABLE_PIP_VERSION_CHECK: 1 concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: docs: name: Build docs runs-on: ubuntu-latest steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Install the latest version of uv uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: python-version: "3.14" - name: Build docs in nitpicky mode run: uvx --from sphinx sphinx-build -n -W -b html doc doc/_build/html tests: name: Run tests # if 'schedule' was the trigger, # don't run it on contributors' forks if: >- github.repository == 'python/typing_extensions' || github.event_name != 'schedule' strategy: fail-fast: false matrix: # We try to test on the earliest available bugfix release of each # Python version, because typing sometimes changed between bugfix releases. # For available versions, see: # https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json python-version: - "3.9" - "3.9.12" - "3.10" - "3.10.4" - "3.11" - "3.11.0" - "3.12" - "3.12.0" - "3.13" - "3.13.0" - "3.14" - "pypy3.9" - "pypy3.10" - "pypy3.11" runs-on: ubuntu-latest permissions: contents: read id-token: write # for codecov upload steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: ${{ matrix.python-version }} allow-prereleases: true - name: Install coverage run: | # Be wary that this does not install typing_extensions in the future. # 'toml' extra is needed to read settings from pyproject.toml on Python <3.11 pip install 'coverage[toml]' - name: Test typing_extensions with coverage run: | # Be wary of running `pip install` here, since it becomes easy for us to # accidentally pick up typing_extensions as installed by a dependency cd src python --version # just to make sure we're running the right one # Run tests under coverage python -We -m coverage run -m unittest test_typing_extensions.py # Create xml file for Codecov coverage xml --rcfile=../pyproject.toml --fail-under=0 - name: Test CPython typing test suite # Test suite fails on PyPy even without typing_extensions if: ${{ !startsWith(matrix.python-version, 'pypy') }} run: | cd src # Run the typing test suite from CPython with typing_extensions installed, # because we monkeypatch typing under some circumstances. python -c 'import typing_extensions; import test.__main__' test_typing -v - name: Upload coverage reports to Codecov uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 if: >- github.repository == 'python/typing_extensions' && (github.event_name == 'push' || github.event_name == 'pull_request') with: use_oidc: true flags: ${{ matrix.python-version }} directory: src fail_ci_if_error: true verbose: true create-issue-on-failure: name: Create an issue if daily tests failed runs-on: ubuntu-latest needs: [tests] if: >- ${{ github.repository == 'python/typing_extensions' && always() && github.event_name == 'schedule' && needs.tests.result == 'failure' }} permissions: issues: write steps: - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | await github.rest.issues.create({ owner: "python", repo: "typing_extensions", title: `Daily tests failed on ${new Date().toDateString()}`, body: "Run listed here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", })