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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ Now you're ready to go!
| `iam-role-name` | Optional. Used only with the `start` mode. | IAM role name to attach to the created EC2 runner. <br><br> This allows the runner to have permissions to run additional actions within the AWS account, without having to manage additional GitHub secrets and AWS users. <br><br> Setting this requires additional AWS permissions for the role launching the instance (see above). |
| `aws-resource-tags` | Optional. Used only with the `start` mode. | Specifies tags to add to the EC2 instance and any attached storage. <br><br> This field is a stringified JSON array of tag objects, each containing a `Key` and `Value` field (see example below). <br><br> Setting this requires additional AWS permissions for the role launching the instance (see above). |
| `eip-allocation-id` | Optional. Used only with the `start` mode. | Allocation Id of an Elastic IP to associate with the runner instance once it is running. |
| `runner-version` | Optional. Used only with the `start` mode. | Version of the `actions/runner` binary to download and register (default `2.335.1`). <br><br> Must have a matching entry in `src/runner-checksums.js`; the action verifies the downloaded tarball's SHA-256 against that table before extraction. |
| `runner-version` | Optional. Used only with the `start` mode. | Version of the `actions/runner` binary to download and register (default `2.336.0`). <br><br> Must have a matching entry in `src/runner-checksums.js`; the action verifies the downloaded tarball's SHA-256 against that table before extraction. |
| `architecture` | Optional. Used only with the `start` mode. | Runner CPU architecture: `x64` (default) or `arm64` (Graviton). Must match the AMI (validated at start). All types in an `ec2-instance-type` fallback list must share this arch. See [Running on Graviton (arm64)](#running-on-graviton-arm64). |
| `pre-runner-script` | Optional. Used only with the `start` mode. | Shell snippet run as root by the built-in bootstrap **before** runner config (install docker, mount caches, add certs). Fail-fast, tagged `failed:pre-runner-script`. Mutually exclusive with `user-data-template`. See [Custom bootstrap](#custom-bootstrap-pre-runner-script--user-data-template). |
| `user-data-template` | Optional. Used only with the `start` mode. | Full bootstrap override — a repo-relative file path or inline string with `{{PLACEHOLDERS}}`. Replaces the built-in bootstrap (unsupported by design). Mutually exclusive with `pre-runner-script`. See [Custom bootstrap](#custom-bootstrap-pre-runner-script--user-data-template). |
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ inputs:
tarball's SHA-256 against that table before extraction). To
override, add the corresponding hash to the table in a PR.
required: false
default: '2.335.1'
default: '2.336.0'
architecture:
description: >-
Used only with the 'start' mode. CPU architecture of the runner:
Expand Down
5 changes: 4 additions & 1 deletion dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -106122,7 +106122,7 @@ class Config {
reuseMaxCycles: core.getInput('reuse-max-cycles') || '20',
reaperStoppedMaxAge: core.getInput('reaper-stopped-max-age') || '1440',
iamRoleName: core.getInput('iam-role-name'),
runnerVersion: core.getInput('runner-version') || '2.335.1',
runnerVersion: core.getInput('runner-version') || '2.336.0',
architecture: core.getInput('architecture') || 'x64',
httpTokens: core.getInput('http-tokens') || 'required',
encryptEbs: core.getInput('encrypt-ebs') || 'false',
Expand Down Expand Up @@ -106600,9 +106600,12 @@ module.exports = {
// this table and upstream is caught at code-review time, not at runtime.
//
// Sources:
// https://github.com/actions/runner/releases/tag/v2.336.0
// https://github.com/actions/runner/releases/tag/v2.335.1

const CHECKSUMS = {
'x64-2.336.0': '04cf0be1aff4c3ec3554466c39124ca250e3effd8873bb7e8d68535aa9505d5d',
'arm64-2.336.0': '58b758e420b87093fbd4bfddd368074960053e2f1388f01848c82624b90f27d1',
// v2.335.1 — pinned default as of 2026-06-17. Bumped from 2.333.1, which
// GitHub stops allowing to run jobs on 2026-06-23.
'x64-2.335.1': '4ef2f25285f0ae4477f1fe1e346db76d2f3ebf03824e2ddd1973a2819bf6c8cf',
Expand Down
2 changes: 1 addition & 1 deletion src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class Config {
reuseMaxCycles: core.getInput('reuse-max-cycles') || '20',
reaperStoppedMaxAge: core.getInput('reaper-stopped-max-age') || '1440',
iamRoleName: core.getInput('iam-role-name'),
runnerVersion: core.getInput('runner-version') || '2.335.1',
runnerVersion: core.getInput('runner-version') || '2.336.0',
architecture: core.getInput('architecture') || 'x64',
httpTokens: core.getInput('http-tokens') || 'required',
encryptEbs: core.getInput('encrypt-ebs') || 'false',
Expand Down
3 changes: 3 additions & 0 deletions src/runner-checksums.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@
// this table and upstream is caught at code-review time, not at runtime.
//
// Sources:
// https://github.com/actions/runner/releases/tag/v2.336.0
// https://github.com/actions/runner/releases/tag/v2.335.1

const CHECKSUMS = {
'x64-2.336.0': '04cf0be1aff4c3ec3554466c39124ca250e3effd8873bb7e8d68535aa9505d5d',
'arm64-2.336.0': '58b758e420b87093fbd4bfddd368074960053e2f1388f01848c82624b90f27d1',
// v2.335.1 — pinned default as of 2026-06-17. Bumped from 2.333.1, which
// GitHub stops allowing to run jobs on 2026-06-23.
'x64-2.335.1': '4ef2f25285f0ae4477f1fe1e346db76d2f3ebf03824e2ddd1973a2819bf6c8cf',
Expand Down
4 changes: 2 additions & 2 deletions tests/config.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -359,9 +359,9 @@ describe('Config — max-lifetime-minutes input', () => {
});

describe('Config — runner-version input', () => {
test('defaults to 2.335.1 when unset', () => {
test('defaults to 2.336.0 when unset', () => {
const config = loadConfig(startModeInputs);
expect(config.input.runnerVersion).toBe('2.335.1');
expect(config.input.runnerVersion).toBe('2.336.0');
});

test('honors an explicit override', () => {
Expand Down