test ci #112
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: | |
verify: | |
name: Pre-commit hooks and Tests | |
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.11' | |
- 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 | |
- name: Unit Tests (tox) | |
run: python -m tox | |
publish: | |
needs: verify | |
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.11' | |
- 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 |