Repository navigation
test: gate the Jekyll build (_config.yml include) and RFC 9116 URI rules - #190
Merged
Merged
Conversation
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>
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test Improvement
Gap. GitHub Pages builds this site with Jekyll, which drops any path whose segment starts with
_,.,#or~unless_config.ymllists it underinclude:..well-known/security.txt(#185) depends on that single line, and no gate watched it:availability-probes.test.mjsresolves each probed URL to a committed file, so withinclude: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.ymlparses, carries onlyinclude:(the README's "nothing else about the build is configured"), and names only directories that exist..well-known) is ininclude:.sitemap.xml<loc>, eachlinks.ymlavailability-probe URL, thesecurity.txtCanonical— maps to a file Jekyll will deploy (not underexclude:/default-exclude, not behind an un-included_/./#/~segment).---front matter block (Jekyll would run Liquid over it).Extends
scripts/security-txt.test.mjswith the RFC 9116 §2.5 URI rules the gate skipped:Contactmust behttps:///mailto:/tel:,Canonical/Policy/Acknowledgments/Hiringmust behttps://,Preferred-Languagesat most once.README
## Checksupdated for both (required byci-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 tollms.txt→ reported.scripts/check-links.sh --external-warn,check-redirects.shand 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