Skip to content

ci: migrate to hardened runners, disable publish during freeze#353

Open
shivam2680 wants to merge 5 commits intomainfrom
security/hardened-runners
Open

ci: migrate to hardened runners, disable publish during freeze#353
shivam2680 wants to merge 5 commits intomainfrom
security/hardened-runners

Conversation

@shivam2680
Copy link
Copy Markdown
Contributor

@shivam2680 shivam2680 commented Apr 6, 2026

Summary

  • Switch all workflow jobs in main.yml and dco-check.yml from ubuntu-latest to databricks-protected-runner-group hardened runners per go/hardened-gha step 3
  • Add JFrog Artifactory OIDC proxy for npm registry access — hardened runners block direct access to public registries, so all jobs running npm ci now authenticate via JFrog OIDC token exchange per the remote registry access guidance
  • Add explicit setup-node to lint and e2e-test jobs — hardened runners may not have Node.js pre-installed (reported by Pieter in #unblock-github-action-for-eng)

Related PRs: release workflow removed in #354, .npmrc fix in #355.

Context

This is part of the release freeze unblock process. The repo GitHub Actions are currently disabled at the org level. This PR addresses checklist steps 3 and 9 (registry access) to unblock CI re-enablement.

Known limitations

  • Fork PRs: The JFrog OIDC token exchange requires id-token: write, which GitHub does not grant to pull_request events from forks. Fork PRs will fail at the "Get JFrog OIDC token" step. This is inherent to the hardened runner setup and affects all public OSS repos.

Test plan

  • After Actions are re-enabled, verify CI jobs (lint, unit-test, e2e-test, coverage, dco-check) run successfully on hardened runners
  • Verify JFrog OIDC token exchange succeeds and npm ci pulls packages through the proxy

This pull request was AI-assisted by Isaac.

@gopalldb
Copy link
Copy Markdown
Collaborator

gopalldb commented Apr 6, 2026

You will need to configure remote npm repo access

@shivam2680 shivam2680 requested a review from gopalldb April 6, 2026 10:44
Switch all 7 workflow jobs from `ubuntu-latest` to the
`databricks-protected-runner-group` hardened runner group per
go/hardened-gha step 3.

Disable the release publish job during the release freeze per
go/hardened-gha step 7. The build job remains active for validation.
A clear comment marks when and how to re-enable.

Fix `.npmrc` from `package-lock=false` to `package-lock=true` so local
dev keeps the lockfile in sync with `npm ci` in CI.

Co-authored-by: Isaac
Hardened runners block direct access to public registries. Configure
JFrog Artifactory as an npm proxy using OIDC token exchange per the
remote registry access guidance.

Added to all jobs that run `npm ci`: lint, unit-test, e2e-test (main.yml)
and build (release.yml). The coverage job and dco-check workflow do not
access npm and are left unchanged.

Adds `id-token: write` permission for the OIDC token exchange.

Co-authored-by: Isaac
Hardened runners may not have Node.js pre-installed (reported in
#unblock-github-action-for-eng). Add explicit setup-node step to
the lint and e2e-test jobs which run npm commands but previously
relied on the runner having Node available.

The unit-test and release build jobs already have setup-node.
The coverage and dco-check jobs don't run npm commands and don't
need it.

Co-authored-by: Isaac
@shivam2680 shivam2680 force-pushed the security/hardened-runners branch from d067bad to 4528621 Compare April 6, 2026 11:00
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

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.

3 participants