Skip to content

feat: migration to OpenSSF - #1

Merged
eddie-knight merged 9 commits into
mainfrom
migration
Sep 3, 2026
Merged

feat: migration to OpenSSF#1
eddie-knight merged 9 commits into
mainfrom
migration

Conversation

@eddie-knight

Copy link
Copy Markdown
Contributor

To simplify the grcli contribution, instead of a repo migration, OpenSSF staff requested that we make a PR to a clean repo with a DCO check and clean license content all at once up front.

Following this PR, we will need to update any places that ingest grcli to use the new release channel, as auto-linking will be disconnected.

Signed-off-by: Eddie Knight <knight@linux.com>
@kusari-inspector

kusari-inspector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Kusari Inspector

Kusari Analysis Results:

Proceed with these changes

✅ No Flagged Issues Detected
All values appear to be within acceptable risk parameters.

Both analyses independently recommend PROCEED. Dependency review found one advisory (GO-2026-5932, golang.org/x/crypto openpgp, unmaintained/unsafe by design) but it has NO_FIX status with no upgrade path available, making it unactionable for this PR; a license review is recommended for several MPL-2.0 and CC-BY-SA-4.0 packages before merging but is not blocking. Code analysis found no secrets or critical code issues; three Low confidence workflow findings were assessed as informational or false positives (GITHUB_PATH write uses only fixed internal values, and the cosign digest is server-side computed, not attacker-controlled). One hardening item remains: actions/setup-go caching (cache: true) in the privileged release.yml job (packages:write, id-token:write) increases cache-poisoning exposure for signed release artifacts; recommend setting cache: false as a hardening measure. Combined, no critical or actionable blocking issues were identified; recommended action items are license confirmation and disabling setup-go caching in the release workflow before merging.

Note

View full detailed analysis result for more information on the output and the checks that were run.


@kusari-inspector rerun - Trigger a re-analysis of this PR
@kusari-inspector feedback [your message] - Send feedback to our AI and team
See Kusari's documentation for setup and configuration.
Commit: 1f8b59c, performed at: 2026-09-03T20:44:35Z

Found this helpful? Give it a 👍 or 👎 reaction!

Comment thread .github/workflows/publish-gemara.yml
Comment thread .github/workflows/release.yml Outdated
@jpower432 jpower432 self-assigned this Sep 3, 2026
@kusari-inspector

Copy link
Copy Markdown

Kusari PR Analysis rerun based on - a990a78 performed at: 2026-09-03T20:03:02Z - link to updated analysis

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/publish-gemara.yml Outdated
Comment thread .github/workflows/publish-gemara.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
@kusari-inspector

Copy link
Copy Markdown

Kusari PR Analysis rerun based on - 9a292f3 performed at: 2026-09-03T20:04:43Z - link to updated analysis

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/actions/install/action.yml
@kusari-inspector

Copy link
Copy Markdown

Kusari PR Analysis rerun based on - aa04610 performed at: 2026-09-03T20:14:42Z - link to updated analysis

@kusari-inspector

Copy link
Copy Markdown

Kusari PR Analysis rerun based on - 1f8b59c performed at: 2026-09-03T20:45:01Z - link to updated analysis

Workflows: route inputs.grcli-version and github.actor through env vars
instead of interpolating them into run: blocks (command injection).

Dependencies: google.golang.org/grpc v1.83.2, oras.land/oras-go/v2
v2.6.2, github.com/sigstore/sigstore-go v1.3.0, golang.org/x/crypto
v0.56.0, per the flagged advisories.

Signed-off-by: Eddie Knight <knight@linux.com>
This repo supersedes revanite-io/grcli entirely, so:

- Go module path renamed to github.com/gemaraproj/grcli (no external
  importers exist; grcli is a leaf). Imports, Makefile PKG and the
  release ldflags follow.
- Reusable publish-gemara workflow installs from ghcr.io/gemaraproj/grcli
  and defaults to v0.7.0 (was a v0.3.0 pin at the old registry).
- Install action, example workflow, README and CLAUDE.md drop the
  "older tags live at revanite-io" caveats; pins move to v0.7.0.
- CHANGELOG gains an Unreleased entry for the module rename.

Signed-off-by: Eddie Knight <knight@linux.com>
Pins, workflow defaults and docs now target v0.1.0. CHANGELOG is reset to
a single 0.1.0 entry describing current capabilities, and the comments
that cited earlier releases as history are reworded.

Signed-off-by: Eddie Knight <knight@linux.com>
Signed-off-by: Eddie Knight <knight@linux.com>
… persistence

- Pin actions/checkout (v4.4.0), actions/setup-go (v5.6.0),
  golangci-lint-action (v9.3.0) and sigstore/cosign-installer (v3.9.2)
  to commit SHAs across ci.yml, release.yml, publish-gemara.yml and the
  example workflow.
- Set persist-credentials: false on every checkout step.
- Bump golang.org/x/mod to v0.40.0 (GO-2026-6179 / GO-2026-6180).

Signed-off-by: Eddie Knight <knight@linux.com>
…es, fix doc placement

- provenance: strip credentials from remote.origin.url before it is stamped
  into signed, immutable provenance (https://user:token@host/... remotes).
- cache: digestOf now calls internal/digest.Bytes instead of duplicating it.
- registry: move FetchSignatureBundle's doc block onto FetchSignatureBundle;
  it sat above AttachSignatureReferrer.
- sign: rewrap the 136-char comment line left by the ADR strip.

Signed-off-by: Eddie Knight <knight@linux.com>
- publish-gemara.yml: drop the cosign-installer step; keyless signing is
  in-process and never looks for cosign (sign.Preflight).
- install action: resolve the tag once and verify + pull by digest, so a
  retag between the two steps cannot install an unverified binary.
- Gate tidycheck in ci-local and CI.
- Add CONTRIBUTING.md (DCO sign-off, dev loop) and SECURITY.md.
- release.yml: header rewritten for a public repo and package.
- CLAUDE.md: replace umbrella-relative paths that resolve nowhere in a
  standalone clone.
- .gitignore: restore go.work / go.work.sum.
- examples: drop the dated smoke-test note.

Signed-off-by: Eddie Knight <knight@linux.com>
Kusari flagged module caching in a job holding packages:write and
id-token:write as cache-poisoning exposure for signed release artifacts.

Signed-off-by: Eddie Knight <knight@linux.com>
@eddie-knight
eddie-knight merged commit ac46486 into main Sep 3, 2026
4 checks passed
@eddie-knight
eddie-knight deleted the migration branch September 3, 2026 22:39
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.

2 participants