Skip to content

🚇🧹 Switch back to GeekyEggo/delete-artifact #849

🚇🧹 Switch back to GeekyEggo/delete-artifact

🚇🧹 Switch back to GeekyEggo/delete-artifact #849

Workflow file for this run

name: "Tests"
on:
push:
tags:
- v**
branches-ignore:
- "dependabot/**"
- "sourcery/**"
- "pre-commit-ci-update-config"
pull_request:
jobs:
pre-commit:
name: Pre-commit
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run pre-commit
uses: pre-commit/action@v3.0.1
docs:
name: Build Docs
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Setup conda
uses: s-weigand/setup-conda@v1
with:
conda-channels: conda-forge
activate-conda: false
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
conda install -y pandoc
python -m pip install -U pip wheel
python -m pip install ".[docs]"
- name: Show installed dependencies
run: pip freeze
- name: Build docs
run: make --directory=docs clean html
docs-link:
name: Check Doc Links
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Setup conda
uses: s-weigand/setup-conda@v1
with:
conda-channels: conda-forge
activate-conda: false
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
conda install -y pandoc
python -m pip install -U pip wheel
python -m pip install ".[docs]"
- name: Show installed dependencies
run: pip freeze
- name: Build docs
run: make --directory=docs clean linkcheck
test:
name: Test pyglotaran stable
runs-on: ${{ matrix.os }}
needs: [pre-commit, docs]
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
python-version: ["3.10", "3.11"]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install -U pip wheel
python -m pip install -r requirements_pinned.txt
python -m pip install -U -e ".[test]"
- name: Run tests
run: python -m pytest --nbval --cov=./ --cov-report term --cov-report xml --cov-config pyproject.toml tests
- name: Codecov Upload
continue-on-error: true
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
name: ${{ matrix.os }}-py${{ matrix.python-version }}
test-pyglotaran-dev:
name: Test pyglotaran dev
runs-on: ubuntu-latest
needs: [pre-commit, docs]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install -U pip wheel
python -m pip install -r requirements_pinned.txt
python -m pip install -U -e ".[test]"
python -m pip install git+https://github.com/glotaran/pyglotaran
- name: Show installed dependencies
run: pip freeze
- name: Run tests
run: python -m pytest --nbval --cov=./ --cov-report term --cov-report xml --cov-config pyproject.toml tests
deploy:
name: Deploy to PyPi
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs: test
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: python -m pip install -U hatch
- name: Build dist
run: hatch build
- name: Publish package
uses: pypa/gh-action-pypi-publish@v1.8.14
with:
print-hash: true