Skip to content

Bump astral-sh/setup-uv from 5 to 7 #177

Bump astral-sh/setup-uv from 5 to 7

Bump astral-sh/setup-uv from 5 to 7 #177

Workflow file for this run

name: CI Testing
on:
push:
branches: [ main, devel, release ]
pull_request:
branches: [ main, devel, release ]
schedule:
- cron: "4 5 4 1/1 *" # Run monthly.
jobs:
cheap_checks:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Black
run: uv run --group lint python -m black . --check --diff
- name: ruff
run: uv run --group lint ruff check .
ci:
needs: cheap_checks
strategy:
fail-fast: false
matrix:
python-version: [ '3.10', '3.11', '3.12' ]
os: [ 'ubuntu-latest' ]
runs-on: ${{ matrix.os }}
steps:
# Initial Setup
- uses: actions/checkout@v5
# Documentation setup
- name: Setup Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: View Quarto version
run: quarto --version
- name: Install uv
uses: astral-sh/setup-uv@v7
# Python setup
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}
- name: View Python --version
run: python --version
# CI checks
- name: Pytest
run: uv run --all-groups python -m pytest -xs --cov . --cov-report=xml
- name: mkdocs
run: uv run --all-groups python -m mkdocs build --strict
- uses: codecov/codecov-action@v5
with:
verbose: true # optional (default = false)
release:
# Run when there is a new push on the release branch
runs-on: 'ubuntu-latest'
needs: ci
if: endsWith(github.ref, 'heads/release') && (github.event_name == 'push')
steps:
- uses: actions/checkout@v5
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
# Documentation setup
- name: Setup Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: View Quarto version
run: quarto --version
# Python setup
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v7
with:
python-version: '3.12'
- name: View Python --version
run: uv run python --version
- name: Build package
run: |
uv run --all-groups python -m build
# Publishing Docs
- name: Deploy Docs
run: |
uv run python -m mkdocs gh-deploy --strict --force
- name: Build package
run: |
uv run python -m build
- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPITOKEN }}
run: |
python -m twine upload --non-interactive dist/*