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
Jobs in this stage
Section titled “Jobs in this stage”| Job | What it does | Why |
|---|---|---|
pages | On 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.
Why this stage exists
Section titled “Why this stage exists”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: mirror → pages · all stages