Skip to content

Add nightly cargo binstall smoke test against latest releases #3998

@sanity

Description

@sanity

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:

  1. Resolves the latest published version of freenet and fdev from crates.io.
  2. Runs cargo binstall --no-confirm freenet@<version> and cargo binstall --no-confirm fdev@<version>.
  3. Asserts both binaries land in the expected location and respond to --version.
  4. 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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-developer-xpArea: developer experienceE-mediumExperience needed to fix/implement: Medium / intermediateP-mediumMedium priorityT-featureType: New functionality request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions