All checks were successful
check / check (push) Successful in 17s
Hugo enables the `tags` and `categories` taxonomies by default. This
site is a single page with no taxonomy terms and no taxonomy templates,
so every build emitted
WARN found no layout file for "html" for kind "taxonomy"
and generated `categories/index.xml` and `tags/index.xml` that nothing
links to. `disableKinds = ['taxonomy', 'term']` is the documented Hugo
mechanism for a site that uses no taxonomies; it removes the warning at
its source rather than suppressing it, and it does not create dead
template files to satisfy the layout lookup.
The premise was re-verified against hugo v0.164.0, the version now
pinned in `script/bootstrap`, rather than trusted from the issue text,
which was written when the build still used apk's 0.139.0. The warning
and the unwanted pages are unchanged on v0.164.0.
`make test`, `make lint` and `make check` now emit zero `WARN` lines, so
the build's noise floor is zero and the next warning to appear will be
visible instead of scrolling past. Rendered output is otherwise
byte-identical: `index.html`, `css/style.css` and the RSS `index.xml`
are unchanged, and `sitemap.xml` is still generated, now listing only
the home page rather than two taxonomy URLs.
6.5 KiB
6.5 KiB
Workflow
- branch (from
main) - do the work in Next Step
- move Next Step to the top of Completed Steps
- move the top item of Future Steps into Next Step
- commit (
TODO.mdchanges in the same commit as the work) - merge to
mainif the branch is not protected, otherwise open a PR - push
Status
pre-1.0
No git tags. The site is live and now has the scripts-to-rule-them-all scaffold
(Makefile, script/, Dockerfile, check.yml); still missing LICENSE and
policy files. Every external reference in the repo is now pinned by
cryptographic hash (or, for the wrangler CLI install, an exact version), and the
Hugo that builds the published site is a deliberate pinned version rather than
whatever the base image's package repo serves.
Next Step
Add the remaining policy scaffold: LICENSE, REPO_POLICIES.md,
.editorconfig, and prettier config files (.prettierrc, .prettierignore).
Update README.md accordingly.
Completed Steps
- 2026-08-09: disabled the unused
taxonomyandtermpage kinds inhugo.toml(closes #13). Hugo enables thetagsandcategoriestaxonomies by default; this single-page site has no taxonomy terms and no taxonomy templates, so every build emittedWARN found no layout file for "html" for kind "taxonomy"and generatedcategories/index.xmlandtags/index.xmlthat nothing links to. Re-verified the warning still occurs on the now-pinned hugo v0.164.0 rather than trusting the issue's text, which predates the version move.make testandmake lintare nowWARN-free, so the build's noise floor is zero and the next warning will be visible.public/is otherwise byte-identical —index.html,css/style.cssand the RSSindex.xmlall unchanged — andsitemap.xmlis still generated, now listing only the home page instead of two taxonomy URLs - 2026-08-09: replaced
hugo.toml's deprecatedlanguageCodekey withlocale(closes #18). Hugo deprecatedlanguageCodein v0.158.0, so the Hugo pinned in the preceding commit warns about it; left alone it would become a third routinely-ignored warning, and a latent breakage when the key is removed. Deliberately sequenced after the Hugo version move and in the same branch: under the apk hugo 0.139.0 that CI ran until now,localeis an unknown key that is silently ignored, which downgrades the generated RSS from<language>en-us</language>to<language>en</language>with no warning and exit 0. Verified on hugo v0.164.0 that the RSS<language>still readsen-us, thelangattribute is unchanged, andpublic/is byte-identical to the preceding commit's output - 2026-08-09: installed Hugo at a deliberate, hash-verified version instead of
taking whatever alpine ships (closes #26).
script/bootstrapno longer doespkg_install hugo; it installsgithub.com/gohugoio/hugo@v0.164.0withgo install, which verifies the module againstsum.golang.org. The version is a commented constant, as is the Go toolchain (go1.26.5) — hugo v0.164.0 requires go >= 1.26.0 and alpine 3.21 ships go 1.23.9 withGOTOOLCHAIN=local, so a barego installrefuses to run.CGO_ENABLED=0is deliberate: standard Hugo, not extended, because this site has no SCSS, noresources.ToCSS, no PostCSS and no image processing. This moves the build off apk's hugo 0.139.0, about two years behind, onto the current stable. Rendered output across the wholepublic/tree is unchanged except themeta name=generatorversion string - 2026-08-09: made
script/checkrunscript/lint(closes #9). It previously ran onlyfmt-checkthentest, soscript/lintexecuted nowhere — not inmake check, not in the pre-commit hook, and not in CI, even though theDockerfilerunsmake checkandscript/cibuildbuilds it. It now runstest,lint,fmt-checkin the canonical order, so thehugo --printPathWarningsrender-target-collision signal is no longer discarded.README.md's Entrypoints line was corrected to match - 2026-08-09: hash-pinned every external reference in
.gitea/workflows/deploy.yml(closes #7): both job container images are pinned by digest, all threeuses:are pinned by 40-hex commit SHA, and the wrangler install is pinned to an exact version. The abandonedklakegg/hugo:ext-alpineimage is gone: the build job now runs on the same pinnedalpinedigest theDockerfileuses, with a pre-checkoutapk add nodejs git tarstep (the Actions runner needsnodeinside the job container to execute JavaScript actions), an explicitshell: shdefault, thenscript/bootstrapandscript/test. Thedeployjob is guarded withif: github.ref_name == 'main'so it can never publish from a branch. Also dropped the deadfeat/initial-sitepush trigger and reindented the file to 4-space YAML to matchcheck.yml. This is the second attempt; the first broke the deploy and was reverted, so this one was verified by temporarily triggering the workflow on the PR branch and iterating until thebuildjob ran green for real - 2026-07-25: added the scripts-to-rule-them-all scaffold (closes #4):
script/entrypoints,Makefileshims, a HugoDockerfile(sha256-pinned alpine) plus.dockerignorethat runsmake check,.gitea/workflows/check.ymlrunningscript/cibuild, and a README Entrypoints section.test/lintare a cleanhugo --minifybuild;fmt/fmt-checkrun prettier over the repo's own top-level markdown only - 2026-02-10: design pass: minimal light theme with inline CSS, grey wells for mesh channels and signal groups, horizontal overflow fix, body width tuning, map link update
- 2026-02-10: added README and footer contribute link
- 2026-02-10: added Gitea workflow that builds the site and deploys to Cloudflare Pages
- 2026-02-08: initial Hugo static site for lora.vegas
Future Steps
- Move the artifact actions to v4 once this Gitea Actions instance serves the v4 artifact protocol; they are pinned on the deprecated v3 line because v4 fails here (#20)
- Move the deploy container to a pinned node 22 so the wrangler pin can advance past 4.86.0 (#21)
- Rework README.md into the standard sections: Description, Getting Started, Rationale, Design, TODO, License, Author (currently About, Contributing, Technical Details, License)
- Replace the "content is provided as-is" README note with the text of the committed LICENSE
- Expand .gitignore beyond Hugo outputs (OS and editor files)
- Verify the Cloudflare Pages deploy still works after the workflow changes
- Keep mesh channel and signal group listings current