Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:

jobs:
test:
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
permissions:
contents: read
steps:
Expand All @@ -43,7 +43,7 @@ jobs:
run: ./dist/index.js --help

release:
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Release publish breaks on self-hosted

High Severity

The release job now runs on a self-hosted runner while still requiring npm OIDC trusted publishing and provenance (id-token: write, NPM_CONFIG_PROVENANCE, npm publish --provenance, and publishConfig.provenance). npm only accepts those from GitHub-hosted runners, so publishes fail with an E422 unsupported runner_environment error and releases stop shipping.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a325701. Configure here.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep npm OIDC publishing on a hosted runner

The release job has id-token: write but no npm token, so both the recovery npm publish and semantic-release rely on npm trusted publishing. npm's trusted-publishing requirements specify GitHub-hosted runners and state that self-hosted runners are unsupported; therefore any release that needs to publish a new package version will fail after this runner change. Keep this job on a GitHub-hosted runner or introduce a supported authentication path.

Useful? React with 👍 / 👎.

needs: test
permissions:
contents: write
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:

jobs:
test:
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep untrusted pull requests off the self-hosted runner

For pull requests, this job checks out contributor-controlled code and executes its build and tests on the self-hosted machine. If this repository accepts outside PRs and the runner is persistent or reused, an approved malicious PR can compromise the runner, retain credentials or persistence, and later intercept the write and OIDC tokens used by the release workflow sharing these labels. Use a GitHub-hosted runner for pull_request events or an isolated, ephemeral runner pool that cannot service privileged workflows.

Useful? React with 👍 / 👎.

steps:
- name: Checkout code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:
./dist/index.js edit-sequential --help

validate-implementation:
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
needs: test

steps:
Expand Down
Loading