/
niceSOFT
/
python3-typing-extensions
Обзор
Документация
Войти
/
niceSOFT
/
python3-typing-extensions
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/publish.yml
162 строки
6 KB
Sebastian Rittau
Use full versions in GitHub action comments (#778)
02 июл 2026, 20:02
Не верифицирован
02 июл 2026, 20:02
c461223
Код
Авторство
О чём код?
# Based on # https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ name: Test builds and publish Python distribution to PyPI on: release: types: [published] push: branches: [main] pull_request: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build: name: Build distribution runs-on: ubuntu-latest 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: "3.x" - name: Check package metadata env: GITHUB_REF: ${{ github.ref }} run: python scripts/check_package.py "${GITHUB_REF}" - name: Install pypa/build 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 python -m pip install --upgrade build python -m pip list - name: Build a binary wheel and a source tarball run: python -m build - name: Store the distribution packages uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: python-package-distributions path: dist/ test-wheel: name: Test wheel needs: - build runs-on: ubuntu-latest 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: "3.x" - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Install wheel run: | path_to_file="$(find dist -type f -name "typing_extensions-*.whl")" export path_to_file echo "::notice::Installing wheel: $path_to_file" python -m pip install --user "$path_to_file" python -m pip list - name: Run typing_extensions tests against installed package run: rm src/typing_extensions.py && python src/test_typing_extensions.py test-sdist: name: Test source distribution needs: - build runs-on: ubuntu-latest 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: "3.x" - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Unpack and test source distribution run: | path_to_file="$(find dist -type f -name "typing_extensions-*.tar.gz")" export path_to_file echo "::notice::Unpacking source distribution: $path_to_file" tar xzf "$path_to_file" -C dist/ cd "${path_to_file%.tar.gz}/src" python test_typing_extensions.py test-sdist-installed: name: Test installed source distribution needs: - build runs-on: ubuntu-latest 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: "3.x" - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Install source distribution run: | path_to_file="$(find dist -type f -name "typing_extensions-*.tar.gz")" export path_to_file echo "::notice::Installing source distribution: $path_to_file" python -m pip install --user "$path_to_file" python -m pip list - name: Run typing_extensions tests against installed package run: rm src/typing_extensions.py && python src/test_typing_extensions.py publish-to-pypi: name: >- Publish Python distribution to PyPI if: github.event_name == 'release' # only publish to PyPI on releases needs: - test-sdist - test-sdist-installed - test-wheel - build runs-on: ubuntu-latest environment: name: publish url: https://pypi.org/p/typing-extensions permissions: id-token: write # IMPORTANT: mandatory for trusted publishing steps: - name: Download all the dists uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: python-package-distributions path: dist/ - name: Ensure exactly one sdist and one wheel have been downloaded run: test "$(find dist/*.tar.gz | wc -l | xargs)" = 1 && test "$(find dist/*.whl | wc -l | xargs)" = 1 - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b