Skip to content

chore(deps): bump actions/checkout from 5 to 6 #209

chore(deps): bump actions/checkout from 5 to 6

chore(deps): bump actions/checkout from 5 to 6 #209

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@v6
- name: Install uv
uses: astral-sh/setup-uv@v5
- 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.13' ]
# Error messages differ between 3.10 and newer versions due to changes in tracebacks
# The snapshots fail on 3.10 because of that, so we only test 3.13 for now.
python-version: [ '3.13' ]
os: [ 'ubuntu-latest' ]
runs-on: ${{ matrix.os }}
steps:
# Initial Setup
- uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Export requirements
run: >
uv export
--python=${{ matrix.python-version }}
--format requirements.txt -o requirements.txt
--no-emit-workspace
--group check
--group check_mkdocstrings
--group docs
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker test image
uses: docker/build-push-action@v6
with:
context: .
file: tests/Dockerfile.test
platforms: linux/amd64
build-args: IMAGE=python:${{ matrix.python-version }}-slim
tags: mkquartodocs-test:${{ matrix.python-version }}
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Run tests in Docker
run: docker run --rm -t mkquartodocs-test:${{ matrix.python-version }}
- name: mkdocs
run: |
# We beed to mount the whole repo ... so we make a volume from . to /mkquartodocs
docker run --rm -v ${PWD}:/mkquartodocs -t mkquartodocs-test:${{ matrix.python-version }} \
bash -c "pip install '.[docs]' && python -m mkdocs build --strict"
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@v6
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Export requirements
run: >
uv export
--python=3.13
--format requirements.txt -o requirements.txt
--no-emit-workspace
--group check
--group check_mkdocstrings
--group docs
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker release image
uses: docker/build-push-action@v6
with:
context: .
file: tests/Dockerfile.test
platforms: linux/amd64
build-args: IMAGE=python:3.13-slim
tags: mkquartodocs-release:latest
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
# Publishing Docs
- name: Deploy Docs
run: |
docker run --rm -v ${PWD}:/mkquartodocs -t mkquartodocs-release:latest \
bash -c "pip install '.[docs]' && python -m mkdocs build --strict"
uv run --group docs mkdocs gh-deploy --force
- name: Build package
run: |
docker run --rm -v ${PWD}:/mkquartodocs -t mkquartodocs-release:latest \
bash -c "pip install build && python -m build"
- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPITOKEN }}
run: |
docker run --rm -v ${PWD}:/mkquartodocs -t mkquartodocs-release:latest \
bash -c "pip install twine && python -m twine upload --non-interactive dist/*"