Skip to content

ci: run the site jobs for the files outside site/ that the build reads - #376

Merged
fstubner merged 1 commit into
mainfrom
ci/site-filter-inputs
Sep 7, 2026
Merged

ci: run the site jobs for the files outside site/ that the build reads#376
fstubner merged 1 commit into
mainfrom
ci/site-filter-inputs

Conversation

@fstubner

@fstubner fstubner commented Sep 7, 2026

Copy link
Copy Markdown
Owner

#375 touched only CHANGELOG.md and ran four checks instead of seven — the site build and the preview deploy both skipped. site.yml decides with grep -qE '^site/', and the changelog isn't under site/.

But the site renders CHANGELOG.md, so a change that breaks the site build could merge without CI noticing. #375 was fine only because it happened to be built locally first.

What the build reads from outside site/

File Read by
CHANGELOG.md pages/changelog.astro imports it with ?raw
scripts/install.ps1 served at /install.ps1 by pages/install.ps1.ts
scripts/install.sh served at /install.sh by pages/install.sh.ts
apps/netscli-gui/package.json site-content/version.ts reads the displayed version from it

All three filters now name the same five paths: site.yml's push trigger, the grep in its changes job, and site-preview.yml's two. The list is written three times because a workflow paths: can't reference a variable — each copy carries a note pointing at the others.

pages.yml gains only a comment. Its push trigger is still deliberately disabled; the note now says to copy site.yml's list rather than the ['site/**'] it previously suggested, which would have left changes to those four files undeployed.

Verification

The regex matches all five inputs and rejects README.md, crates/**, docs/PUBLISHING.md, CHANGELOG.md.bak, package-lock.json, install.ps1.old and notsite/.

All three workflows parse, and the parsed paths: lists are identical across the three filters.

This PR touches only .github/workflows/**, so the site jobs will skip on it — which is correct, and is the same filter working as intended.

A CHANGELOG.md-only PR (#375) ran four checks instead of seven: the site
build and the preview deploy both skipped, because site.yml decides with
`grep -qE '^site/'` and the changelog is not under site/. The site renders
CHANGELOG.md, so a change that breaks the site build could have merged
without CI noticing. #375 was fine only because it was built locally first.

Four files outside site/ feed the build:
- CHANGELOG.md, imported by pages/changelog.astro with `?raw`
- scripts/install.ps1 and scripts/install.sh, served at /install.ps1 and
  /install.sh by the two route files that read them at build time
- apps/netscli-gui/package.json, which site-content/version.ts reads for the
  version the page displays

All three filters now name the same five paths: site.yml's push trigger, the
grep in its `changes` job, and site-preview.yml's two. The list is written
three times because a workflow `paths:` cannot reference a variable; each
copy carries a note pointing at the others.

pages.yml only gains a comment. Its push trigger is still deliberately
disabled, and the note now says to copy site.yml's list rather than the
`['site/**']` it previously suggested, which would have left changes to those
four files undeployed.

Verified: the regex matches all five inputs and rejects README.md,
crates/**, docs/PUBLISHING.md, CHANGELOG.md.bak, package-lock.json,
install.ps1.old and notsite/. All three workflows parse, and the parsed
`paths:` lists are identical across the three filters.
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Site preview: https://pr-376.netscli-site-preview.pages.dev

Built from ac8526c with NETSCLI_PREVIEW=1 — noindex, and analytics disabled so it does not report into netscli.com's numbers.

Production is unaffected: netscli.com is served from GitHub Pages via pages.yml, which is manual-only.

@fstubner
fstubner merged commit 99c0125 into main Sep 7, 2026
16 checks passed
@fstubner
fstubner deleted the ci/site-filter-inputs branch September 7, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant