diff --git a/.github/ci-paths.yaml b/.github/ci-paths.yaml index 971679e5..e203f0c6 100644 --- a/.github/ci-paths.yaml +++ b/.github/ci-paths.yaml @@ -89,3 +89,8 @@ windows: - e2e/lib/** - e2e/platforms/** - 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 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 48cb2675..0f399eef 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,6 +10,16 @@ updates: prefix: chore include: scope + - package-ecosystem: "npm" + directory: "/starlight" + schedule: + interval: "weekly" + assignees: + - "LGUG2Z" + commit-message: + prefix: chore + include: scope + - package-ecosystem: "cargo" directory: "/" schedule: diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ed04b74e..f56c0fee 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -41,6 +41,7 @@ jobs: linux: ${{ steps.final.outputs.linux }} macos: ${{ steps.final.outputs.macos }} windows: ${{ steps.final.outputs.windows }} + starlight: ${{ steps.final.outputs.starlight }} steps: - uses: actions/checkout@v6 with: @@ -58,12 +59,14 @@ jobs: LINUX: ${{ steps.filter.outputs.linux }} MACOS: ${{ steps.filter.outputs.macos }} WINDOWS: ${{ steps.filter.outputs.windows }} + STARLIGHT: ${{ steps.filter.outputs.starlight }} 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 "macos=$MACOS" echo "windows=$WINDOWS" + echo "starlight=$STARLIGHT" } | tee -a "$GITHUB_OUTPUT" # ---- 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: 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 ---- test: