diff --git a/README.md b/README.md
index 69dd7c36..b9127492 100644
--- a/README.md
+++ b/README.md
@@ -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.
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.
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.
This field is a stringified JSON array of tag objects, each containing a `Key` and `Value` field (see example below).
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`).
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`).
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). |
diff --git a/action.yml b/action.yml
index d771ff29..5060c592 100644
--- a/action.yml
+++ b/action.yml
@@ -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:
diff --git a/dist/index.js b/dist/index.js
index 674df534..f9bfe5eb 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -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',
@@ -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',
diff --git a/src/config.js b/src/config.js
index 685157b0..5cf411fc 100644
--- a/src/config.js
+++ b/src/config.js
@@ -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',
diff --git a/src/runner-checksums.js b/src/runner-checksums.js
index 0e70c4da..cff56292 100644
--- a/src/runner-checksums.js
+++ b/src/runner-checksums.js
@@ -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',
diff --git a/tests/config.test.js b/tests/config.test.js
index 1dab11e0..c2afd225 100644
--- a/tests/config.test.js
+++ b/tests/config.test.js
@@ -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', () => {