Skip to content

Pep 518/612

Pep 518/612 #235

Workflow file for this run

name: Main
on:
push:
pull_request:
jobs:
test:
name: Run tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python_version: ['3.9', '3.10', '3.11', '3.12']
install_extras: ['tests', 'plotting,fancy_progressbar,tests', 'plotting,bloch_sphere_visualization,fancy_progressbar,doc,tests']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
cache: pip
check-latest: true
- name: Install
run: |
python -m pip install --upgrade pip
python -m pip install hatch .[${{ matrix.install_extras }}]
- name: Test with pytest
run: |
python -m hatch run tests:run
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
name: ${{ matrix.python }} - ${{ matrix.install_extras }}
env_vars: OS,PYTHON
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }} # required
verbose: true
release:
name: Publish to PyPi
runs-on: ubuntu-latest
needs: test
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install hatch
- name: Build package
run: |
python -m hatch build
- name: Publish package
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
twine upload dist/*