Update PolicyEngine Canada #282
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: Push | |
| on: | |
| push: | |
| branches: [master] | |
| jobs: | |
| Lint: | |
| runs-on: ubuntu-latest | |
| if: | | |
| (github.repository == 'PolicyEngine/policyengine-canada') | |
| && (github.event.head_commit.message == 'Update PolicyEngine Canada') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Install ruff | |
| run: pip install "ruff>=0.9.0" | |
| - name: Check formatting | |
| run: ruff format --check . | |
| versioning: | |
| name: Update versioning | |
| if: | | |
| (github.repository == 'PolicyEngine/policyengine-canada') | |
| && !(github.event.head_commit.message == 'Update PolicyEngine Canada') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.POLICYENGINE_GITHUB }} | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Build changelog | |
| run: | | |
| pip install towncrier | |
| python .github/bump_version.py | |
| towncrier build --yes --version $(python -c "import re; print(re.search(r'version = \"(.+?)\"', open('pyproject.toml').read()).group(1))") | |
| - name: Preview changelog update | |
| run: ".github/get-changelog-diff.sh" | |
| - name: Update changelog | |
| uses: EndBug/add-and-commit@v9 | |
| with: | |
| add: "." | |
| committer_name: Github Actions[bot] | |
| author_name: Github Actions[bot] | |
| message: Update PolicyEngine Canada | |
| Test: | |
| runs-on: ${{ matrix.os }} | |
| if: | | |
| (github.repository == 'PolicyEngine/policyengine-canada') | |
| && (github.event.head_commit.message == 'Update PolicyEngine Canada') | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Install package | |
| run: make install | |
| - name: Run tests | |
| run: make test | |
| - uses: codecov/codecov-action@v4 | |
| - name: Generate documentation | |
| run: make documentation | |
| - name: Deploy documentation | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: JamesIves/github-pages-deploy-action@releases/v3 | |
| with: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| BRANCH: gh-pages # The branch the action should deploy to. | |
| FOLDER: docs/_build/html # The folder the action should deploy. | |
| Publish: | |
| runs-on: ubuntu-latest | |
| if: | | |
| (github.repository == 'PolicyEngine/policyengine-canada') | |
| && (github.event.head_commit.message == 'Update PolicyEngine Canada') | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Publish a git tag | |
| run: ".github/publish-git-tag.sh || true" | |
| - name: Install build dependencies | |
| run: pip install wheel setuptools | |
| - name: Install package | |
| run: make install | |
| - name: Build package | |
| run: make build | |
| - name: Publish a Python distribution to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.PYPI }} | |
| skip_existing: true | |
| Deploy: | |
| if: | | |
| (github.repository == 'PolicyEngine/policyengine-canada') | |
| && (github.event.head_commit.message == 'Update PolicyEngine Canada') | |
| runs-on: ubuntu-latest | |
| env: | |
| GH_TOKEN: ${{ secrets.POLICYENGINE_GITHUB }} | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.POLICYENGINE_GITHUB }} | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| allow-prereleases: true | |
| - name: Install Wheel and Pytest | |
| run: pip3 install wheel setuptools pytest==5.4.3 | |
| - name: Install package | |
| run: make install | |
| - name: Update API | |
| run: python .github/update_api.py | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.POLICYENGINE_GITHUB }} |