-
-
Notifications
You must be signed in to change notification settings - Fork 17
security: harden shared workflows #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aeneasr
wants to merge
1
commit into
master
Choose a base branch
from
aeneasr/harden-ory-release-ci
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
Repository: ory/meta
Length of output: 11507
🌐 Web query:
GitHub Actions Node 24 default runtime June 16 2026 official changelog Node 24 compatible actions💡 Result:
As of June 16, 2026, GitHub Actions officially transitioned Node.js 24 as the default runtime for actions [1][2]. This change was part of the broader deprecation process for Node.js 20, which is scheduled for full removal in the fall of 2026 [1]. Key details regarding this transition: - Default Runtime Shift: Beginning June 16, 2026, GitHub Actions runners automatically use Node.js 24 for actions [1][2]. - Opt-out Capability: Users who needed more time to migrate could temporarily continue using Node.js 20 by setting the environment variable ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true in their workflow or runner environment [1]. This option is temporary and intended to be available only until the final removal of Node.js 20 [1]. - Compatibility for Maintainers: Actions maintainers are required to update their actions to target Node.js 24 [1]. This is done by updating the configuration in the action's metadata file (action.yml) to reflect the new runtime [1][3]. - Linux ARM32 Exception: Because Node.js 24 binaries are unavailable for Linux ARM32, actions on this architecture continue to run on Node.js 20, accompanied by deprecation warnings until support for that platform is eventually removed [4]. For ongoing development, it is recommended to ensure that all actions are explicitly updated to support Node.js 24 to avoid dependency on deprecated, legacy runtime versions [1].
Citations:
🌐 Web query:
site:github.com/actions/checkout releases Node 24 runtime actions/checkout v4 v5💡 Result:
As of August 13, 2026, the actions/checkout action has transitioned to using the Node.js 24 runtime in its v5 release [1][2]. Key details regarding this change include: Runtime Update: Version 5 of actions/checkout was updated to use Node.js 24 instead of Node.js 20 [1][3]. Runner Requirement: To use actions/checkout@v5, your GitHub Actions runner must be updated to version v2.327.1 or newer [1][2]. Compatibility: Using actions/checkout@v5 on runners older than v2.327.1 will result in an error (e.g., "Parameter 'using: node24' is not supported") because those runners do not recognize the Node.js 24 runtime environment [4]. Resolution for Older Runners: If you are using self-hosted runners that cannot be updated or are not yet running v2.327.1, you should continue using actions/checkout@v4 to avoid compatibility issues [4]. The transition to Node.js 24 in actions/checkout@v5 represents a breaking change for environments that do not support the newer runtime [4].
Citations:
🌐 Web query:
site:github.com/actions/stale action.yml node24 runtime v4 v9💡 Result:
In GitHub Actions, the action.yml file defines the runtime environment for an action using the runs.using property [1][2]. The runtime identifier node24 refers to the execution environment powered by Node.js 24 [3][2]. The version numbers mentioned, such as v4 and v9, typically refer to release versions of specific GitHub Actions (e.g., actions/stale), rather than versions of the GitHub Actions runtime itself [4][5]. Key distinctions include: 1. Runtime Versions: GitHub Actions runtimes are identified by the Node.js version they utilize, such as node16, node20, and now node24 [6][7][4]. Updating an action to use a newer runtime (like node24) requires updating the runs.using field in the action.yml file and ensures the action runs on the specified Node.js engine [3][2]. 2. Action Versions (e.g., v4, v9, v10): These are semantic versions for the action code itself [8][4][5]. For instance, in the actions/stale project: - Version 9 (v9.0.0) marked a transition to the Node.js 20 runtime [4][5]. - Version 10 (v10.0.0) marked a transition to the Node.js 24 runtime [3][8]. To ensure compatibility with actions using newer runtimes like node24, it is recommended to use a recent version of the GitHub Actions runner (e.g., v2.327.1 or later) [8][1].
Citations:
🏁 Script executed:
Repository: ory/meta
Length of output: 9919
🏁 Script executed:
Repository: ory/meta
Length of output: 2752
🏁 Script executed:
Repository: ory/meta
Length of output: 3825
🌐 Web query:
site:github.blog/changelog GitHub Actions Node.js 24 default runtime June 16 2026💡 Result:
Yes, beginning on June 16, 2026, GitHub Actions runners began using Node.js 24 as the default runtime [1]. This change is part of the deprecation process for Node.js 20, which has reached its end-of-life [1]. To manage this transition, the following options and behaviors were established: - Opt-out: Users can continue using Node.js 20 temporarily after this date by setting the environment variable ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true in their workflow or on the runner machine [1]. Note that this is a temporary measure and will only remain effective until Node.js 20 is fully removed from runners later in the fall of 2026 [1]. - Testing: Prior to the switch, users could force the use of Node.js 24 by setting FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true as an environment variable [1]. Actions maintainers are advised to update their actions to run on Node.js 24, and Actions users should ensure they are using the latest versions of actions that support this runtime [1].
Citations:
🏁 Script executed:
Repository: ory/meta
Length of output: 2013
🌐 Web query:
ory closed-reference-notifier Node 24 GitHub action💡 Result:
The ory/closed-reference-notifier GitHub action is a tool designed to automatically open an issue in your repository when a referenced GitHub issue or pull request is closed [1][2]. While the original documentation for the action historically recommended using Node.js 14 [1][3], modern configurations within the Ory ecosystem successfully run this action using Node.js 24 [4][5]. This is reflected in standard workflow templates used across Ory's repositories, which specify
node-version: "24"when setting up the environment for the action [4][5]. Example configuration for using the action with Node.js 24: jobs: find_closed_references: runs-on: ubuntu-latest name: Find closed references steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: node-version: "24" - uses: ory/closed-reference-notifier@v1 with: token: ${{ secrets.GITHUB_TOKEN }} issueLabels: closed reference issueLimit: 5 This setup aligns with the standard practices observed in Ory's current CI/CD workflows [4][5].Citations:
🌐 Web query:
ory label-sync-action Node 24 GitHub action💡 Result:
There is no GitHub Action officially named ory label-sync-action that uses Node.js 24 [1][2]. The repository ory/label-sync-action is a project that uses an older runtime environment [1]. It has not seen significant updates recently, and its documentation and implementation do not reference Node.js 24 [1]. The confusion likely arises from another project, matharts/sync-labels-action, which has explicitly migrated its GitHub Action runtime to Node.js 24 [3][4]. This project emphasizes that it uses the GitHub-native Node.js 24 runtime, eliminating the need for users to manage dependencies themselves [4]. For users looking for label synchronization actions: - ory/label-sync-action: An older, less active repository [1]. - matharts/sync-labels-action: A modern, maintained action running on Node.js 24 [3][4]. - Other alternatives like EndBug/label-sync are also commonly used, though many currently rely on earlier Node versions (e.g., node20) [5].
Citations:
🌐 Web query:
amannn action-semantic-pull-request Node 24 release💡 Result:
The amannn/action-semantic-pull-request GitHub Action added support for Node.js 24 in version 6.0.0, which was released on August 13, 2025 [1][2]. This update was implemented in pull request
#287, which upgraded the action to use Node.js 24 and ECMAScript Modules (ESM) [3][4]. This change included a major version bump from v5.5.3 to v6.0.0 to prevent potential regressions [3][5].Citations:
🏁 Script executed:
Repository: ory/meta
Length of output: 1893
Replace the legacy runtimes in the shared workflow templates.
The pinned
actions/checkout,actions/setup-node,amannn/action-semantic-pull-request,ory/label-sync-action, andactions/stalerevisions use Node12.ory/ci/conventional_commit_configuses Node16.closed_references.ymlinstalls Node14.ory/label-sync-action, which has no Node24 release.ory/cito a Node24-compatible revision and apply the same revision inlicenses.yml.ory/closed-reference-notifieris a composite action, so its pin is not itself a Node runtime pin.📍 Affects 4 files
templates/repository/common/.github/workflows/closed_references.yml#L19-L23(this comment)templates/repository/common/.github/workflows/conventional_commits.yml#L24-L26templates/repository/common/.github/workflows/conventional_commits.yml#L46-L46templates/repository/common/.github/workflows/labels.yml#L16-L18templates/repository/common/.github/workflows/stale.yml#L12-L12🤖 Prompt for AI Agents