Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Release, Deployment and Versioning

CI/CD Pipelines

All CI/CD workflows are defined as GitHub Actions in .github/workflows/.

Checks and Tests

Every push and pull request runs:

  • check.yml — Formatting (rustfmt) and linting (clippy)
  • test.yml — Runs the full test suite

Mosaic Demo

The Mosaic component library demo has two deployment paths:

PR Preview (Cloud Run)

Defined in cloud-run-pull-request.yml.

When a pull request modifies files under modules/mosaic/, a preview of the Mosaic demo is automatically deployed to Google Cloud Run. The preview URL is posted as a comment on the PR and updated on each push.

  • Trigger: PRs that touch modules/mosaic/** (same-repo only, not forks)
  • Service: Ephemeral Cloud Run service per PR
  • Cleanup: The Cloud Run service and container image are deleted when the PR is closed or merged

Authentication uses Workload Identity Federation (keyless, OIDC-based).

Required secrets: GCP_WORKLOAD_IDENTITY_PROVIDER, GCP_SERVICE_ACCOUNT, GCP_REGION, GCP_ARTIFACT_REGISTRY.

Production (Docker Hub + Jenkins)

Defined in docker-publish.yml.

When changes to modules/mosaic/ are merged to main, the demo image is built, pushed to Docker Hub, and a Jenkins webhook triggers the production deployment.

Documentation (GitHub Pages)

Defined in gh-pages.yml. The mdBook documentation is built and deployed to GitHub Pages on pushes to main.