ci(starlight): the docs site is built when its files change, informationally

The `starlight` filter of ci-paths.yaml, and a job that runs `npm ci` and `npm run build` in starlight/. It is not
in the needs of `required` yet: the site has not been built by CI before.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
LGUG2ZandClaude Sonnet 5.5 committed 2026-11-10 14:05:07 -08:00
1 parent f19788100b
commit 9fce48d9d7
3 files changed
+39 -1

No files matched your search

+5
View File
@@ -89,3 +89,8 @@ windows:
- e2e/lib/** - e2e/lib/**
- e2e/platforms/** - e2e/platforms/**
- wix/** - wix/**
# the docs site: it does not concern a platform, so a change of it starts the build of the site and nothing else
starlight:
- starlight/**
- .github/ci-paths.yaml
+10
View File
@@ -10,6 +10,16 @@ updates:
prefix: chore prefix: chore
include: scope include: scope
- package-ecosystem: "npm"
directory: "/starlight"
schedule:
interval: "weekly"
assignees:
- "LGUG2Z"
commit-message:
prefix: chore
include: scope
- package-ecosystem: "cargo" - package-ecosystem: "cargo"
directory: "/" directory: "/"
schedule: schedule:
+24 -1
View File
@@ -41,6 +41,7 @@ jobs:
linux: ${{ steps.final.outputs.linux }} linux: ${{ steps.final.outputs.linux }}
macos: ${{ steps.final.outputs.macos }} macos: ${{ steps.final.outputs.macos }}
windows: ${{ steps.final.outputs.windows }} windows: ${{ steps.final.outputs.windows }}
starlight: ${{ steps.final.outputs.starlight }}
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
with: with:
@@ -58,12 +59,14 @@ jobs:
LINUX: ${{ steps.filter.outputs.linux }} LINUX: ${{ steps.filter.outputs.linux }}
MACOS: ${{ steps.filter.outputs.macos }} MACOS: ${{ steps.filter.outputs.macos }}
WINDOWS: ${{ steps.filter.outputs.windows }} WINDOWS: ${{ steps.filter.outputs.windows }}
STARLIGHT: ${{ steps.filter.outputs.starlight }}
run: | run: |
if [ "$ALL" = true ]; then LINUX=true MACOS=true WINDOWS=true; fi if [ "$ALL" = true ]; then LINUX=true MACOS=true WINDOWS=true STARLIGHT=true; fi
{ {
echo "linux=$LINUX" echo "linux=$LINUX"
echo "macos=$MACOS" echo "macos=$MACOS"
echo "windows=$WINDOWS" echo "windows=$WINDOWS"
echo "starlight=$STARLIGHT"
} | tee -a "$GITHUB_OUTPUT" } | tee -a "$GITHUB_OUTPUT"
# ---- stage 0: the pinned tools of the flake, no builds, about two minutes ---- # ---- stage 0: the pinned tools of the flake, no builds, about two minutes ----
@@ -232,6 +235,26 @@ jobs:
- run: rustup target add aarch64-apple-darwin - run: rustup target add aarch64-apple-darwin
- run: tools/mac-check.sh - run: tools/mac-check.sh
# the docs site (starlight/), built as it is deployed. Informational: not in the needs of `required`, as the site
# has not been built by this workflow before. The reference pages in it are what `just docgen` writes.
starlight:
needs: [changes]
if: ${{ !cancelled() && (github.event_name != 'pull_request' || needs.changes.outputs.starlight == 'true') }}
runs-on: ubuntu-24.04
timeout-minutes: 15
defaults:
run:
working-directory: starlight
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
cache-dependency-path: starlight/package-lock.json
- run: npm ci
- run: npm run build
# ---- stage 3: tests ---- # ---- stage 3: tests ----
test: test: