Repository navigation
Guard release metadata and prepare Actions publishing - #27
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 99b3862adc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| permissions: | ||
| contents: read | ||
| actions: read | ||
| id-token: write |
There was a problem hiding this comment.
Isolate OIDC from build and test steps
Once this proposal is activated, granting id-token: write to the whole job lets every subsequent command—including bun install lifecycle hooks and all repository/dependency code executed by bun run check—request an OIDC JWT through the runner environment; GitHub documents that this permission exposes the token-request URL and bearer token to the job (OIDC reference). A compromised dependency or malicious build/test script could therefore invoke npm publish before the guarded publish step and release arbitrary contents under this package. Run checkout/install/check/pack in an unprivileged job, pass the verified tarball to a minimal publishing job, and grant id-token: write only to that publishing job.
Useful? React with 👍 / 👎.
Adds tested release metadata guards to CI and an inactive npm OIDC workflow proposal. The runbook gives exact permissions and trust identity. No versions, tags, releases, registry bindings or workflow permissions were changed.
Validation: dependency-free guard tests, current metadata checks, Biome checks, YAML parsing and diff checks passed. Full verification stays in existing CI. Activation requires explicit access approval; the npm package is currently absent so ownership and first publication must be resolved separately.