chore(deps): bump actions/checkout from 5 to 6 #209
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/*" |