chore(github-actions): update pypa/gh-action-pypi-publish action to v1.14.1 #431
Workflow file for this run
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: Build PyPI | |
| on: | |
| workflow_call: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - reopened | |
| - synchronize | |
| permissions: | |
| contents: read | |
| jobs: | |
| linting: | |
| name: Reuse linting job | |
| uses: ./.github/workflows/lint.yml | |
| build: | |
| needs: linting | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| reqstool-source: [pypi, main] | |
| steps: | |
| - name: Check out source repository | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 #full history | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Install and configure Poetry | |
| uses: snok/install-poetry@a783c322200f0519c7926aa6faa857c4e23e9263 # v1 | |
| with: | |
| version: 2.4.1 | |
| virtualenvs-create: true | |
| - name: Install poetry-dynamic-versioning | |
| run: poetry self add "poetry-dynamic-versioning[plugin]" | |
| - name: Install dependencies | |
| run: poetry install --with dev | |
| - name: Build wheel (used by e2e tests) | |
| run: poetry build --format wheel | |
| - name: Install plugin into Poetry (activates it for e2e tests) | |
| run: poetry self add $(ls $PWD/dist/reqstool_python_poetry_plugin-*.whl | tail -1) | |
| - name: Run tests | |
| run: poetry run pytest --junitxml=build/junit.xml --cov --cov-report=xml:build/coverage.xml | |
| - name: Build project | |
| run: poetry build | |
| - name: Install reqstool | |
| uses: reqstool/.github/.github/actions/install-reqstool@9c6feaab046f4782f430dd2527fdb82c2a5cd926 # main 2026-06-22 | |
| with: | |
| reqstool-source: ${{ matrix.reqstool-source }} | |
| - name: Validate reqstool spec completeness | |
| # not yet available in the latest PyPI release | |
| if: matrix.reqstool-source == 'main' | |
| uses: reqstool/.github/.github/actions/validate-reqstool@9c6feaab046f4782f430dd2527fdb82c2a5cd926 # main 2026-06-22 | |
| - name: Run reqstool status | |
| uses: reqstool/.github/.github/actions/reqstool-status@9c6feaab046f4782f430dd2527fdb82c2a5cd926 # main 2026-06-22 | |
| with: | |
| fail-if-incomplete: "true" | |
| # Upload artifacts for later use | |
| - name: Upload Artifacts | |
| if: matrix.reqstool-source == 'pypi' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: dist | |
| path: dist/ | |
| validate-openspec: | |
| uses: reqstool/.github/.github/workflows/common-validate-openspec.yml@9c6feaab046f4782f430dd2527fdb82c2a5cd926 # main 2026-06-22 |