Significantly rework ID #1132
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: Testing and distribution | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| pre-commit: | |
| name: Lint and format with pre-commit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - id: checkout | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| - id: setup-python | |
| name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.9' | |
| - id: pre-commit | |
| name: Pre-commit | |
| uses: pre-commit/action@v3.0.1 | |
| test-docs: | |
| name: Test Sphinx build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - id: checkout | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| - id: setup-python | |
| name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.9' | |
| cache: 'pipenv' | |
| - id: install-pipenv | |
| name: Install pipenv | |
| run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python | |
| shell: bash | |
| - id: install-python-dependencies | |
| name: Install Python dependencies | |
| run: pipenv install --dev --python=`which python` | |
| shell: bash | |
| - id: tally | |
| name: Tally sources | |
| run: make tally-sources | |
| - id: build | |
| name: Build | |
| run: make test-docs | |
| - id: save | |
| name: Save artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docs-${{ github.run_number }} | |
| path: ./docs | |
| if-no-files-found: error | |
| test-build: | |
| name: Build Python package | |
| runs-on: ubuntu-latest | |
| # needs: [test-python] | |
| steps: | |
| - id: checkout | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| - id: setup-python | |
| name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.9' | |
| cache: 'pipenv' | |
| - id: install-pipenv | |
| name: Install pipenv | |
| run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python | |
| shell: bash | |
| - id: install-python-dependencies | |
| name: Install Python dependencies | |
| run: pipenv install --dev --python=`which python` | |
| shell: bash | |
| - id: build | |
| name: Build release | |
| run: make build-release | |
| - id: check | |
| name: Check release | |
| run: make check-release | |
| - id: save | |
| name: Save artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-release-${{ github.run_number }} | |
| path: ./dist | |
| if-no-files-found: error | |
| tag-release: | |
| name: Tagged PyPI release | |
| runs-on: ubuntu-latest | |
| needs: [test-build] | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
| steps: | |
| - id: setup-python | |
| name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.9' | |
| - id: fetch | |
| name: Fetch artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: test-release-${{ github.run_number }} | |
| path: ./dist | |
| - id: publish | |
| name: Publish release | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.PYPI_API_TOKEN }} | |
| verbose: true | |
| verify_metadata: false |