feat: new page overviewing CI & code coverage #1309
Workflow file for this run
This file contains 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: build-test-deploy-book | |
# Only build PRs, the main branch, and releases. Pushes to branches will only | |
# be built when a PR is opened. This avoids duplicated builds in PRs coming | |
# from branches in the origin repository (1 for PR and 1 for push). | |
# This came from Leo's work with fatiando | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
# This job installs dependencies, build the book, and pushes it to `gh-pages` | |
jobs: | |
build-test-book: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Upgrade pip | |
run: | | |
# install pip=>20.1 to use "pip cache dir" | |
python3 -m pip install --upgrade pip | |
- name: Get pip cache dir | |
id: pip-cache | |
run: echo "::set-output name=dir::$(pip cache dir)" | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: python3 -m pip install nox | |
- name: Build book | |
run: nox -s docs-test | |
# Save html as artifact | |
- name: Save book html as artifact for viewing | |
uses: actions/upload-artifact@v4 | |
with: | |
name: book-html | |
path: | | |
_build/html/ | |
# Push the book's HTML to github-pages | |
- name: Push to GitHub Pages | |
# Only push if on main branch | |
if: github.ref == 'refs/heads/main' | |
uses: peaceiris/actions-gh-pages@v4.0.0 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./_build/html | |
# Test for bad links and ensure alt tags for usability | |
- name: Check HTML using htmlproofer | |
uses: chabad360/htmlproofer@master | |
with: | |
directory: "_build/html" | |
arguments: | | |
--ignore-files "/.+\/_static\/.+/,/genindex.html/" | |
--ignore-status-codes "404, 403, 429, 503" |