Repository navigation
Clarify static build helper side effects and failure behavior - #27
Open
coderabbitai[bot] wants to merge 8 commits into
Open
coderabbitai[bot] wants to merge 8 commits into
coderabbitai[bot] wants to merge 8 commits into
Conversation
Specify version 1 of a static JSON search index, ahead of implementing it: location, which pages and fields are indexed, normative tokenisation and stop words, integer field weights, file structure with key order, JSON escaping, a deterministic size-limit rule, a worked example, and the stability policy. The index is off by default so existing sites gain no new file, and it carries no timestamp so identical sources give an identical file (milestone 6 relies on that). Config keys and per-language paths are provisional until work package 1 lands. Not implemented and not tested; the document says so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record exactly what today's Atom feed does (genFeed), including its defects, because no current test generates a feed and milestone 5 must start by golden-testing that output. Define one feed item model rendered as Atom, RSS 2.0 and JSON Feed 1.1: selection and ordering, site/section/tag feed paths, field-by-field mapping, worked examples, and a consumer contract for superfeedreader (stable ids shared across feeds and formats, honest updated times). Changes to Atom output are marked as intended golden-test diffs. Validation is by recorded fixtures plus xmllint and jq, since the W3C validator is Python. Not implemented and not tested. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On a vX.Y.Z tag, build a fully static x86_64-linux-musl binary, publish it with a SHA-256 checksum and a signed SLSA build provenance attestation, and verify both with the same commands users are given before publishing. workflow_dispatch builds and tests only. The Chez backend cannot produce a single static binary, so the release uses the RefC backend compiled with zig cc against musl, with GMP and the Idris 2 C runtimes rebuilt for musl. Because CI tests the Chez build, test-static.sh requires both binaries to give byte-identical output on every test subcommand, a fixture site and a large page. Toolchain pins: the same idris2-pack image digest as ci.yml (Idris 2 0.8.0 at 6ca00e72, checked by reading the image layers), Zig 0.16.0 and GMP 6.3.0 by SHA-256, actions by commit SHA. build-static.sh refuses to link runtimes from a different Idris 2 commit. DRAFT, NEVER RUN: written without a Linux toolchain. The scripts were syntax-checked and exercised against stub binaries only. RELEASING.adoc has the fork dry-run procedure and an empty record; do not push a release tag upstream before that dry-run passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#25 restored the Markdown example pages, so the drafts' statements that examples/ builds no pages are out of date. - FEEDS.adoc: the CI build job's feed now has entries; it is still published to Pages unchecked. - test-static.sh: also require byte-identical builds of examples/; the generated fixture stays for the nested page, draft and extra Markdown. - RELEASING.adoc: describe both sites, and record the repository's SHA-pin policy (which also checks a composite action's inner actions). All four actions in release.yml are JavaScript actions, which is why it calls actions/attest directly rather than the composite attest-build-provenance v4 wrapper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From the CodeRabbit review on #26, each checked against the text: - FEEDS.adoc: one scope for the feed-level updated fallback. A feed with no dated items uses the site's newest date; only a site with no dated pages falls back to the build day or SOURCE_DATE_EPOCH. The feed table and the consumer contract now agree. - FEEDS.adoc: requiring a base URL for RSS and JSON Feed is stated as Ddraig's policy; JSON Feed 1.1 itself makes URLs optional. - FEEDS.adoc: stop mapping the feed's updated to RSS lastBuildDate. That element means "when the channel last changed", which the newest item date does not track, so it is omitted (it is optional). - SEARCH-INDEX.adoc: define the excerpt exactly: which code points are whitespace, collapse then trim then truncate, and when the ellipsis is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 of 13 tasks
Contributor
Author
|
Important Review skippedThis PR was authored by the user configured for CodeRabbit reviews. CodeRabbit does not review PRs authored by this user. It's recommended to use a dedicated user account to post CodeRabbit review feedback. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This branch has not been deployed
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.
Expand helper documentation in
.github/scripts/build-static.sh: describefetchdestination overwrites, retained files on checksum failure, and propagated exit statuses; documentcheck_idrissource and pack state dependencies and failure behavior. Runtime behavior is unchanged.Validation: pinned-tree shell syntax check (
sh -n) andgit diff --checkpassed. Static build was not run.View coding task