Skip to content

fix(action): pass inputs via env, verify the CLI checksum and fix cli-version docs - #342

Merged
BryanFRD merged 1 commit into
mainfrom
fix/317-action-env-inputs-checksum
Oct 31, 2026
Merged

BryanFRD merged 1 commit into
mainfrom
fix/317-action-env-inputs-checksum

Conversation

@BryanFRD

Copy link
Copy Markdown
Contributor

Closes #317

  • Validate step reads token, all and names from env: instead of expanding them into the script.
  • CLI archive is checked against the published .sha256 before install; extraction happens in a temp dir that is removed on exit.
  • cli-version description now says it defaults to the latest cli-v* release. Pinning the default at release time is left out: it needs a version bump step in the release flow, so say if you want it.

…-version docs

Closes #317

Signed-off-by: BryanFRD <bryanferrando59@gmail.com>

@ferrfleet-interne ferrfleet-interne Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready to merge. The review approved with no blocking findings. Formal verification failed to run and returned no result, so nothing was verified formally.

The PR passes token, all and names to bash through env instead of ${{ }} interpolation. It verifies the CLI tarball against the .sha256 published next to it. It also extracts only the ferrvault member into a mktemp dir. The cli-version description is corrected.

Findings (none blocking)

  • minor, action/action.yml:111: sha256sum may be missing on macOS runners. The action resolves os=darwin and cli-release.yml publishes darwin tarballs. I did not verify whether current GitHub macOS images have sha256sum on PATH. If they don't, every macOS run fails at install. Fix: fall back to shasum -a 256 -c - when sha256sum is absent.
  • minor, action/action.yml:90: the latest probe does not check that the .sha256 asset exists. It picks the highest cli-v* tag with an uploaded tarball. A tag caught between the tarball and checksum uploads, or an older release without checksums, now fails at the second curl instead of falling back to the previous tag. Fix: probe the .tar.gz.sha256 URL in the HEAD check too.
  • suggestion, action/action.yml:110: the checksum comes from the same release as the binary, so it gives integrity but not authenticity. Anyone who can replace the asset can replace the .sha256. As a follow-up, verify the SLSA attestations that cli-release.yml already produces (gh attestation verify --repo FerrLabs/FerrVault) or pin hashes per cli-version.

Formal verification

The step failed and produced no result.

@BryanFRD
BryanFRD merged commit b9c4ec3 into main Oct 31, 2026
20 checks passed
@BryanFRD
BryanFRD deleted the fix/317-action-env-inputs-checksum branch October 31, 2026 15:14
ferrflow Bot added a commit that referenced this pull request Oct 31, 2026
## [6.1.5] - 2026-10-31

### Bug Fixes

- fix(action): pass inputs via env, verify the CLI checksum and fix cli-version docs (#342)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(action): pass inputs via env, verify the CLI checksum and pin the default cli-version

1 participant