Skip to main content

CI/CD Pipeline

Modelibr uses GitHub Actions to verify changes, build release artifacts, and publish the documentation site.

Verification jobs

The main workflow is .github/workflows/ci-and-deploy.yml ("CI and Build Docs"). It runs the relevant checks for each change, including:

  • .NET backend unit tests
  • React frontend unit tests and formatting checks
  • Asset processor tests and formatting checks
  • Playwright end-to-end tests
  • Storybook production builds
  • Documentation audits and production builds

Test logs and reports remain GitHub Actions artifacts for CI diagnosis. They are not copied into the documentation bundle or linked from the public website.

Documentation build

The documentation job creates one docs-site artifact containing:

  • the Docusaurus documentation and landing page
  • the demo-mode frontend under /demo/
  • Storybook under /storybook/

Feature videos are not in this bundle. Capturing them drives the same WebGL render as the end-to-end suite, which is unreliable on GitHub's GPU-less runners, so they are rendered on a machine with a GPU and published separately to the site's own /videos/ path. That is why the feature pages reference them by absolute URL rather than as build assets.

Run the documentation checks locally with:

npm run docs:audit
cd docs && npm run build

Deployment

Publishing is a manual step, not a workflow. CI builds and uploads the docs-site artifact; a maintainer publishes it to modelibr.com when cutting a release, alongside the separately-rendered feature videos.

The publish refuses to sync a bundle without an index.html, so a partial or empty build cannot wipe the live site, and it protects /videos/ from deletion so the independently-published clips survive a documentation update.

CI artifacts

Individual jobs upload short-lived artifacts such as unit-test summaries, Playwright reports, and Storybook output. Open the relevant workflow run in GitHub Actions to inspect or download them. These artifacts are not part of the public documentation site.

Code quality workflow

.github/workflows/code-quality.yml runs path-filtered frontend and asset processor quality checks. Required checks that must report on every pull request remain in the main workflow so branch protection cannot deadlock when a path-filtered job is skipped.