Skip to content

Stage: pages

The pages stage builds and publishes this very showcase site. Documentation that ships from the same pipeline is always current — including the page you are reading right now.

Part of the Full pipeline action map. Use the Fullscreen button on the diagram to view it edge-to-edge.

flowchart TD
  MAIN["main pipeline success"]
  BUILD["pages<br/>node:22-alpine<br/>cd docs/site · npm ci · npm run build<br/>copy dist/ -> public/"]
  PUB[("GitLab Pages<br/>sarc-6f4a6f.gitlab.io")]

  MAIN --> BUILD --> PUB

  class BUILD pages
  class PUB pub
  class MAIN io
  classDef pages fill:#57606a,stroke:#32383f,color:#ffffff
  classDef pub fill:#1f6feb,stroke:#0b3d91,color:#ffffff
  classDef io fill:#57606a,stroke:#32383f,color:#ffffff
JobWhat it doesWhy
pagesOn main only: npm ci + npm run build of the Astro + Starlight site in docs/site/, copies dist/ to public/, and GitLab publishes it. Artifacts expire in 1 week; node_modules cached on package-lock.json.Public, always-current documentation that redeploys on every main merge. Feature branches deliberately do not publish, so previews never clobber the live site.

To preview a branch locally before merge: cd docs/site && npm run dev.

The documentation is part of the product, not an afterthought. Building it in the same pipeline that ships the software means the architecture, pipeline, and portal docs can never silently drift from what actually runs — a merge to main updates the code and its explanation together.


Stages: mirrorpages · all stages