Skip to content

fix(pages): supply the Pages workflow the repository was configured for but never had - #69

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/restore-pages
Sep 18, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/restore-pages

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Pages is configured for this repository with build_type: "workflow". There is no Pages workflow, so the build never runs and the site was never published:

https://hyperpolymath.github.io/nesy-solver/                  -> 404
https://hyperpolymath.github.io/nesy-solver/.well-known/security.txt  -> 404

Supplying the workflow is the fix that needs no repository-settings access. (Switching to the legacy branch builder would also work — I tried, and the token in use does not carry the separate Pages settings scope.)

Why the staging is a subset, not the repository root

index.html references /public/styles.css and /public/app.js, and the site needs .well-known/ at its root. Those three things, plus the entry page, are what is staged. Publishing the repository root instead would serve 45 root files — AUDIT.adoc, Containerfile, server.js, wrangler.toml and the rest — none of which is site content.

Simulated locally:

staged:
  _site/index.html
  _site/public/app.js
  _site/public/styles.css
  _site/.well-known/ai.txt
  _site/.well-known/humans.txt
  _site/.well-known/security.txt

Why not .nojekyll

My first pass added one, reasoning that Jekyll drops dot-directories. That is true of the legacy branch builder and irrelevant here — a workflow upload does not run Jekyll, so the file would have been dead weight that looked like a fix. It is not included.

This is the same trap twice in one session: hyperpolymath.github.io also looked like a .nojekyll problem and is also an Actions-built site.

Unresolved, and not fixable from here

wrangler.toml is a Cloudflare Pages configuration (pages_build_output_dir = "dist"), and index.html advertises nesy-solver.dev, which does not currently resolve:

curl: (6) Could not resolve host: nesy-solver.dev

So this repository may already have an intended host that is not GitHub Pages. If Cloudflare is the real target, this workflow is scaffolding rather than the answer, and .well-known/ still needs to reach that origin root — a GitHub Pages project path is not the origin root, so RFC 8615 is not satisfied by this alone.

Settling that does not change this commit: it makes the configured Pages build run, and exposes nothing that was not already public.

Context

Found while resolving the 8 repositories held back from the .well-known/ → www/.well-known/ migration (#119). This repository is deliberately not migrated: it expects to serve from an origin root, so root .well-known/ stays.

…or but never had

Pages is configured with build_type "workflow". This repository carries no
Pages workflow, so the build never ran and the site was never published:
https://hyperpolymath.github.io/nesy-solver/ returns 404 for the site root and
for /.well-known/security.txt alike.

Supplying the workflow is the fix that needs no repository-settings access. (A
switch to the legacy branch builder would also work, but the token in use does
not carry the Pages settings scope.)

WHY THE STAGING IS A SUBSET, NOT THE REPOSITORY ROOT

index.html references /public/styles.css and /public/app.js, and the site needs
.well-known/ at its root. Those, plus the entry page, are what is staged.
Publishing the repository root would instead serve 45 root files — AUDIT.adoc,
Containerfile, server.js, wrangler.toml and the rest — none of which is content.

WHY NOT .nojekyll

The first pass added one, reasoning that Jekyll drops dot-directories. That is
true of the legacy branch builder, and irrelevant here: a workflow upload does
not run Jekyll, so the file would have been dead weight that looked like a fix.
It is not included.

UNRESOLVED, AND NOT FIXABLE FROM HERE

wrangler.toml is a Cloudflare Pages configuration
(pages_build_output_dir = "dist") and index.html advertises nesy-solver.dev,
which does not currently resolve. So this repository may already have an
intended host that is not GitHub Pages. If Cloudflare is the real target, this
workflow is scaffolding rather than the answer, and .well-known/ still needs to
reach that origin root — a GitHub Pages project path is not it. Settling that
does not change this commit: it makes the configured Pages build run, and
exposes nothing that was not already public.
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: bdc1b9cb-cb4b-4828-9878-53085767462e

📥 Commits

Reviewing files that changed from the base of the PR and between eaef889 and b9c779b.

📒 Files selected for processing (1)
  • .github/workflows/casket-pages.yml
 ________________________________________
< Even Chuck Norris needs a code review. >
 ----------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

cancel-in-progress: false

jobs:
build:
@hyperpolymath
hyperpolymath merged commit f65e762 into main Sep 18, 2026
30 of 36 checks passed
@hyperpolymath
hyperpolymath deleted the fix/restore-pages branch September 18, 2026 14:11
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.

2 participants