diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml index 0eec526..c2baf94 100644 --- a/.github/workflows/links.yml +++ b/.github/workflows/links.yml @@ -28,6 +28,8 @@ jobs: for url in https://hivecommons.dev/ https://hivecommons.dev/stories/ \ https://hivecommons.dev/docs/ https://hivecommons.dev/code/ \ https://hivecommons.dev/discord/ https://hivecommons.dev/join/ \ + https://hivecommons.dev/llms.txt https://hivecommons.dev/sitemap.xml \ + https://hivecommons.dev/robots.txt \ https://hivecommons.dev/404.html; do status=$(curl --silent --show-error --output /dev/null \ --write-out '%{http_code}' --connect-timeout 10 --max-time 30 \ diff --git a/runbooks/availability-failure.md b/runbooks/availability-failure.md index ba44149..6f0abe2 100644 --- a/runbooks/availability-failure.md +++ b/runbooks/availability-failure.md @@ -2,7 +2,7 @@ The **Link check** workflow (`.github/workflows/links.yml`) runs its `availability` job on a 6-hour schedule and on manual dispatch. It requests the live homepage, -`/stories/`, a sample of the shortcut redirects and `/404.html` over HTTPS and fails +`/stories/`, `/docs/`, `/llms.txt`, `/sitemap.xml`, `/robots.txt`, a sample of the shortcut redirects and `/404.html` over HTTPS and fails unless every one returns HTTP 200. Use this runbook when that job is red and no recent deploy explains it; for a bad commit, use the [rollback runbook](release-rollback.md). diff --git a/scripts/availability-probes.test.mjs b/scripts/availability-probes.test.mjs index 4e3f481..3e53c59 100644 --- a/scripts/availability-probes.test.mjs +++ b/scripts/availability-probes.test.mjs @@ -113,7 +113,7 @@ test("fixture: sitemap values are extracted", () => { }); const FIXTURE_SITEMAP = [`${SITE_ORIGIN}/`, `${SITE_ORIGIN}/stories/`]; -const GOOD_LIST = [`${SITE_ORIGIN}/`, `${SITE_ORIGIN}/stories/`, `${SITE_ORIGIN}/docs/`, `${SITE_ORIGIN}/404.html`]; +const GOOD_LIST = [`${SITE_ORIGIN}/`, `${SITE_ORIGIN}/stories/`, `${SITE_ORIGIN}/docs/`, `${SITE_ORIGIN}/llms.txt`, `${SITE_ORIGIN}/sitemap.xml`, `${SITE_ORIGIN}/robots.txt`, `${SITE_ORIGIN}/404.html`]; test("fixture: a list covering the sitemap, 404.html and a redirect passes", () => { assert.deepEqual(probeListProblems(GOOD_LIST, { sitemap: FIXTURE_SITEMAP }), []);