Spun out of #3995 review feedback (testing-reviewer): the manifest-level regression tests in #3997 lock in the structural invariants (URL embeds the right tag, Windows override exists, bin-dir is correct, sed expressions stay equivalent), but they cannot catch the user-visible failure mode — a 404 on github.com because the release upload silently changed naming, the release was never published from draft, or the assets failed to attach.
Proposal
A scheduled GitHub Actions workflow that runs nightly (or after every release publish) and:
- Resolves the latest published version of
freenet and fdev from crates.io.
- Runs
cargo binstall --no-confirm freenet@<version> and cargo binstall --no-confirm fdev@<version>.
- Asserts both binaries land in the expected location and respond to
--version.
- Optionally repeat on a Windows runner to exercise the
.zip override path.
If any step fails, the workflow opens an issue / pings #freenet-dev. This catches:
- Release upload pipeline broke (e.g. cross-compile job timed out and didn't attach assets)
- Asset naming drifted (e.g. a target rename in cross-compile.yml)
- Release stayed in draft state and was never published
- The two metadata-block sed expressions in release.sh / release.yml silently produced different output from each other (today the in-repo test catches this, but only on the workspace fixture)
Why not block merge of #3995 on this
The structural tests in #3997 give 90% of the value with zero CI cost. The e2e smoke test is a separate workflow concern and adds CI minutes; better to land it as its own focused PR.
[AI-assisted - Claude]
Spun out of #3995 review feedback (testing-reviewer): the manifest-level regression tests in #3997 lock in the structural invariants (URL embeds the right tag, Windows override exists,
bin-diris correct, sed expressions stay equivalent), but they cannot catch the user-visible failure mode — a 404 on github.com because the release upload silently changed naming, the release was never published from draft, or the assets failed to attach.Proposal
A scheduled GitHub Actions workflow that runs nightly (or after every release publish) and:
freenetandfdevfrom crates.io.cargo binstall --no-confirm freenet@<version>andcargo binstall --no-confirm fdev@<version>.--version..zipoverride path.If any step fails, the workflow opens an issue / pings #freenet-dev. This catches:
Why not block merge of #3995 on this
The structural tests in #3997 give 90% of the value with zero CI cost. The e2e smoke test is a separate workflow concern and adds CI minutes; better to land it as its own focused PR.
[AI-assisted - Claude]