Skip to content

[pre-commit.ci] pre-commit autoupdate #1024

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #1024

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/[email protected]
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 ".[test]"
- name: Run tests
run: python -m pytest --nbval --cov=pyglotaran_extras --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 }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
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 ".[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=pyglotaran_extras --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: test-pyglotaran-dev
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-min-versions:
name: Test dependency min versions
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 .github/requirements_min.txt
python -m pip install -e ".[test]"
- 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
- name: Codecov Upload
continue-on-error: true
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
name: test-min-versions
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
deploy:
name: Deploy to PyPi
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs: [test, test-pyglotaran-dev, test-min-versions]
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/[email protected]
with:
print-hash: true
attestations: true