feat: mirror freenet-core HEAD to Freenet-hosted demo repo#4040
Conversation
Adds .github/workflows/mirror-to-freenet.yml which invokes the reusable workflow at freenet/freenet-git/.github/workflows/mirror-repo.yml on every push to main, every workflow_dispatch, and once a day as a safety net. The mirror lives at: freenet:3GEERif5ihbf/freenet-core Mode is `snapshot` because freenet-core's git history (~176 MiB) is larger than what the repo contract can hold. Each run rebuilds the demo as a single orphan commit of HEAD's tracked tree -- so a clone gets the current source but no history. See the reusable workflow's header for the rationale and the `freenet_git_extra_args` escape hatch for future flag additions. Required secrets (already configured): - `FREENET_GIT_IDENTITY_BUNDLE_BASE64` -- base64 of the no-passphrase identity bundle that owns the prefix `3GEERif5ihbf`. - `FREENET_GIT_WS_URL` -- WebSocket URL of a reachable Freenet node; same value as `RIVER_GATEWAY_URL`. Liveness (cache warm-keeping) is handled by the `rescue-demos` workflow in freenet-git itself; this workflow only handles content freshness. [AI-assisted - Claude] Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rule Review: No issues foundRules checked: WarningsNone. InfoNone. Analysis notes: The PR adds a single GitHub Actions workflow file — no Rust code, no production logic, no tests to check. Against the applicable rules:
PR description sections (## Problem / ## Solution / ## Testing / ## Fixes) could not be verified from the diff alone — the Rule review against |
Codex P1 + Skeptical H1+H2 on PR #4040: - `@main` -> SHA-pinned to the merge commit of freenet-git#17. With `secrets: inherit` (next bullet) any commit to freenet-git/main could exfiltrate every secret in this repo. SHA-pinning closes that vector. Bumps to the reusable workflow now require an explicit ref change here, which is the desired blast radius. - `secrets: inherit` -> explicit pass-through of just the two secrets the reusable workflow declares as required. Avoids leaking Apple notarization keys, Claude OAuth, OpenAI key, Matrix tokens, River signing key into whatever Rust/install/git-push code path the reusable workflow happens to run. Same blast-radius logic. [AI-assisted - Claude] Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed Codex P1 + Skeptical H1/H2: pinned Pushed back / deferring:
[AI-assisted - Claude] |
Bumps `freenet/freenet-git/.github/workflows/mirror-repo.yml@<sha>` from 362e547 to 4a4ab09. The new SHA includes freenet-git#18, which fixes the snapshot-mode wall-clock-time issue flagged by the skeptical reviewer (H3): orphan commits now use deterministic author/committer dates derived from the source commit, so daily cron runs against an unchanged source no longer mint new commit hashes and force-push fresh contract writes. [AI-assisted - Claude] Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
.github/workflows/mirror-to-freenet.ymlwhich calls the reusable workflow atfreenet/freenet-git/.github/workflows/mirror-repo.yml(merged in freenet-git#17).snapshotbecause freenet-core's git history (~176 MiB) is larger than what the repo contract can hold. Each run rebuilds the demo as a single orphan commit of HEAD's tracked tree -- consumers get current source, no history.Demo URL
freenet:3GEERif5ihbf/freenet-core(replaces the oldAaRxPZVdWrPhdemo, which was created from a passphrase-encrypted bundle that doesn't fit a CI workflow).Required secrets (already configured on this repo)
FREENET_GIT_IDENTITY_BUNDLE_BASE64— base64 of the no-passphrase bundle that owns the new prefix.FREENET_GIT_WS_URL— same value asRIVER_GATEWAY_URL.Test plan
3GEERif5ihbf/freenet-corealready published manually (clonable today viagit clone freenet::3GEERif5ihbf/freenet-core).[AI-assisted - Claude]