Feature/version #36
Workflow file for this run
This file contains 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: Package CI/CD | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '*' # Later: \b[0-9]\.[0-9]+\.[0-9]+[ab]?[0-9]?\b | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
branches: | |
- main | |
jobs: | |
pre-commit: | |
name: Apply pre-commit hooks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install extra dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install .[dev,test] | |
- name: Cache pre-commit hooks | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pre-commit | |
key: ${{ runner.os }}-precommit-${{ hashFiles('.pre-commit-config.yaml') }} | |
- name: Run pre-commit hooks | |
run: pre-commit run --all-files | |
publish: | |
needs: pre-commit | |
if: success() && startsWith(github.ref, 'refs/tags') | |
name: Publish release to PyPI | |
runs-on: ubuntu-latest | |
environment: release | |
permissions: | |
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Build package | |
run: | | |
python -m pip install --upgrade build | |
python -m build | |
- name: Upload package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 |