Skip to content

fix(deps): update dependency cvxbson to v0.2.0 (#322) #629

fix(deps): update dependency cvxbson to v0.2.0 (#322)

fix(deps): update dependency cvxbson to v0.2.0 (#322) #629

Workflow file for this run

# This file is part of the tschm/.config-templates repository
# (https://github.com/tschm/.config-templates).
#
# Workflow: Book
# Purpose: This workflow builds and deploys comprehensive documentation for the project.
# It combines API documentation, test coverage reports, test results, and
# interactive notebooks into a single GitHub Pages site.
#
# Trigger: This workflow runs on every push to the main branch
#
# Components:
# - πŸ“š Parse .env file for configuration
# - πŸ““ Process Marimo notebooks
# - πŸ“– Generate API documentation with pdoc
# - πŸ§ͺ Run tests and generate coverage reports
# - πŸš€ Deploy combined documentation to GitHub Pages
name: "BOOK"
on:
push:
branches: [ main ]
jobs:
book:
runs-on: "ubuntu-latest"
environment:
name: github-pages # πŸ‘ˆ this is the critical missing piece
permissions:
contents: read
pages: write # Permission to deploy to Pages
id-token: write # Permission to verify deployment origin
steps:
# Check out the repository code
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: "Make the docs"
run: |
task docs:docs
- name: "Make the tests"
run: |
task docs:test
- name: "Make the notebooks"
run: |
task docs:marimushka
- name: "Make the book"
run: |
task docs:book
# Step 4: Display the structure of the artifacts directory
# This helps with debugging by showing what files were generated
- name: Inspect artifacts
shell: bash
run: |
# Check if tree is installed, otherwise use find/ls as fallback
if command -v tree &> /dev/null; then
tree _book # Show directory structure in tree format
else
echo "tree command not found, using fallback:"
find _book -type f | sort
fi
# Step 5: Package all artifacts for GitHub Pages deployment
# This prepares the combined outputs for deployment by creating a single artifact
- name: Upload static files as artifact
uses: actions/upload-pages-artifact@v3 # Official GitHub Pages artifact upload action
with:
path: _book/ # Path to the directory containing all artifacts to deploy
# Step 6: Deploy the packaged artifacts to GitHub Pages
# This step publishes the content to GitHub Pages
- name: Deploy to GitHub Pages
if: ${{ !github.event.repository.fork }}
uses: actions/deploy-pages@v4 # Official GitHub Pages deployment action