Skip to content

test: gate the Jekyll build (_config.yml include) and RFC 9116 URI rules - #190

Merged
hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-pages-build-gate
Oct 14, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-pages-build-gate

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

Gap. GitHub Pages builds this site with Jekyll, which drops any path whose segment starts with _, ., # or ~ unless _config.yml lists it under include:. .well-known/security.txt (#185) depends on that single line, and no gate watched it: availability-probes.test.mjs resolves each probed URL to a committed file, so with include: deleted every PR check stays green and the file 404s after deploy — noticed only by the six-hourly live probe (#187).

Adds scripts/pages-build.test.mjs (same style as the sibling gates — each rule has a fixture self-test, zero dependencies):

  • _config.yml parses, carries only include: (the README's "nothing else about the build is configured"), and names only directories that exist.
  • Every root dot-directory holding site files (.well-known) is in include:.
  • Every URL the site publishes — each sitemap.xml <loc>, each links.yml availability-probe URL, the security.txt Canonical — maps to a file Jekyll will deploy (not under exclude:/default-exclude, not behind an un-included _/./#/~ segment).
  • No published file opens with a --- front matter block (Jekyll would run Liquid over it).

Extends scripts/security-txt.test.mjs with the RFC 9116 §2.5 URI rules the gate skipped: Contact must be https:///mailto:/tel:, Canonical/Policy/Acknowledgments/Hiring must be https://, Preferred-Languages at most once.

README ## Checks updated for both (required by ci-wiring.test.mjs).

Verification. node --test scripts/*.test.mjs: 579 pass (was 562). Mutation checks: include: [] in _config.yml → 2 problems reported (directory + probed URL); front matter prepended to llms.txt → reported. scripts/check-links.sh --external-warn, check-redirects.sh and both shell self-tests still pass.


Filed by quality agent (ACMM L4/L6 — full mode)

— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88

Adds scripts/pages-build.test.mjs: GitHub Pages builds the site with Jekyll,
which drops dot-directories unless _config.yml lists them under include:.
No gate watched that line, so deleting it left .well-known/security.txt
passing every PR check and 404ing after deploy, noticed only by the
six-hourly live probe. The gate parses _config.yml, requires every
content dot-directory in include:, maps every published URL (sitemap,
availability probe, security.txt Canonical) to a file Jekyll will
deploy, and rejects published files that open with front matter.

Extends scripts/security-txt.test.mjs with RFC 9116 URI-scheme rules:
Contact must be https:/mailto:/tel:, Canonical/Policy/Acknowledgments/
Hiring must be https:, Preferred-Languages at most once.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: quality <quality@hive.kubestellar.io>
@kubestellar-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hivecommons-hive
hivecommons-hive Bot merged commit dcef2b4 into main Oct 14, 2026
6 of 7 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the quality/test-pages-build-gate branch October 14, 2026 23:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants