Skip to content

chore(stepsecurity): update workflows to use custom hosted runners with built-in StepSecurity#133

Merged
ali-kafel merged 1 commit intocirclefin:masterfrom
circle-ops-repo-updater:repo-updater-8e05360c-6127-4280-a0e2-e3da45575f1f
Dec 10, 2025
Merged

chore(stepsecurity): update workflows to use custom hosted runners with built-in StepSecurity#133
ali-kafel merged 1 commit intocirclefin:masterfrom
circle-ops-repo-updater:repo-updater-8e05360c-6127-4280-a0e2-e3da45575f1f

Conversation

@circle-ops-repo-updater
Copy link
Contributor

Summary

This PR updates GitHub Actions workflows to use custom hosted runners that have StepSecurity built-in, removing the need for the explicit StepSecurity harden-runner action.

What Changed

  • Removed step-security/harden-runner action steps (no longer needed as StepSecurity is built into custom runners)
  • Removed id-token: write permissions (no longer needed without the StepSecurity action)
  • Updated runs-on from ubuntu-latest to github-hosted-small (custom runners with built-in StepSecurity)
  • Converted non-circlefin action versions to commit SHAs with version comments for security pinning (e.g., actions/checkout@abc123 # v3.6.0)
  • circlefin GitHub actions remain unchanged

Purpose

Our custom hosted runners (github-hosted-small) now have StepSecurity built-in at the runner level, so we no longer need to add it as an explicit step in each workflow. This simplifies our workflows while maintaining the same security posture.

Testing

  • All workflow syntax changes have been validated
  • No functional changes to workflow behavior
  • StepSecurity protection is maintained via the custom runners
  • Review the diff to ensure only intended changes occurred

Copy link

@circle-ops-ci circle-ops-ci left a comment

Choose a reason for hiding this comment

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

Automated Repo-Updater Approval #1

@ali-kafel ali-kafel merged commit 40ee83f into circlefin:master Dec 10, 2025
4 checks passed
ashutosh-ukey pushed a commit that referenced this pull request Mar 18, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.10.0](v2.9.0...v2.10.0)
(2026-03-18)


### Features

* sync SDK to OpenAPI doc v2.11.1
([#117](#117))
([d56319f](d56319f))
* sync SDK to OpenAPI doc v2.12.0
([#118](#118))
([d2dd9c1](d2dd9c1))
* sync SDK to OpenAPI doc v2.14.0
([#124](#124))
([d64938e](d64938e))
* sync SDK to OpenAPI doc v2.15.0
([#125](#125))
([5b34ebb](5b34ebb))
* sync SDK to OpenAPI doc v2.16.0
([#139](#139))
([0ceb254](0ceb254))


### Miscellaneous Chores

* apply security best practices and onboard stepsecurity
([#131](#131))
([357d2fe](357d2fe))
* **deps:** bump action versions to use node 20
([#113](#113))
([fe5002d](fe5002d))
* **stepsecurity:** update workflows to use custom hosted runners with
built-in StepSecurity
([#133](#133))
([40ee83f](40ee83f))


### Continuous Integration

* fix shared release-please workflow bug
([#136](#136))
([d23c2ec](d23c2ec))
* fix shared release-please workflow bug pt 2
([#137](#137))
([12f2664](12f2664))
* use public shared Circle workflows repo
([#121](#121))
([093fd41](093fd41))
* use shared release-please workflow
([#120](#120))
([4bb61fb](4bb61fb))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
nexx88 pushed a commit that referenced this pull request Mar 20, 2026
## Summary
Restore `id-token: write` in the reusable npm publish workflow so AWS
OIDC auth works during publish

### Why
- the publish pipeline is failing in `Configure AWS Credentials` before
`npm publish`
- `aws-actions/configure-aws-credentials` is using `role-to-assume`,
which requires a GitHub OIDC token
- the workflow only grants `contents: read`, so the job cannot mint that
token

## Details

### Regression Context
- `id-token: write` was originally added in
[`ffcaf51`](ffcaf51)
(`fix: allow OIDC token in publish pipeline (#25)`)
- it was removed in
[`40ee83f`](40ee83f)
(`chore(stepsecurity): update workflows to use custom hosted runners
with built-in StepSecurity (#133)`)
- that regression stayed hidden until
[`27f4efe`](27f4efe)
(`ci: fix release-please wiring (#140)`) fixed release gating and caused
`npm-publish` to run again

## Validation
- reviewed failed run
[`23300901189`](https://github.com/circlefin/circle-nodejs-sdk/actions/runs/23300901189)
and failing job
[`67761702334`](https://github.com/circlefin/circle-nodejs-sdk/actions/runs/23300901189/job/67761702334)
- confirmed the job fails in `Configure AWS Credentials` with the log:
`Did you mean to set the id-token permission?`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants