Skip to content

Commit 3544421

Browse files
authored
Modernize action runtime to Node 24
Node 20 is EOL. This moves the action to Node 24 and updates every dependency to its current major version: @actions/core 1 -> 3, @actions/github 6 -> 9, zod 3 -> 4, TypeScript 5 -> 6, Biome 2.2 -> 2.4, Bun CI pin 1.3.13 -> 1.3.14. Zod 4 tightened UUID validation to RFC 4122, which broke test fixtures using zero-version UUIDs. TypeScript 6 stopped auto-loading ambient types, requiring an explicit types array in tsconfig. Both fixed inline. Removed unused @octokit/rest. Migrated deprecated z.string().uuid()/url()/email() to top-level z.uuid() etc. Removed dead esModuleInterop (always-on in TS 6). Bumped target/lib to ES2024 to match Node 24. dist/index.js is now marked linguist-generated in .gitattributes so PR diffs and whitespace checks skip the committed bundle.
1 parent f0b975f commit 3544421

13 files changed

Lines changed: 32987 additions & 23269 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist/index.js linguist-generated -diff -whitespace

.github/workflows/ci.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414

1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v6
1818

1919
- name: Setup Bun
20-
uses: oven-sh/setup-bun@v1
20+
uses: oven-sh/setup-bun@v2
2121
with:
22-
bun-version: 1.3.13
22+
bun-version: 1.3.14
2323

2424
- name: Install dependencies
2525
run: bun install

AGENTS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44

55
**Purpose**: GitHub Action that creates and manages Coder Agents chats for GitHub users with automated issue commenting support.
66

7-
**Key Difference from create-task-action**: This action targets the Coder Agents Chat API (`/api/experimental/chats`) instead of the Tasks API. Agents purposefully does NOT expose template selection — it either auto-provisions a workspace or uses an existing one.
7+
**Key Difference from create-task-action**: This action targets the Coder Agents Chat API (`/api/experimental/chats`) instead of the Tasks API. Agents purposefully does NOT expose template selection. It either auto-provisions a workspace or uses an existing one.
88

99
**Tech Stack**:
10-
- **Runtime**: Bun (JavaScript/TypeScript runtime & bundler)
10+
- **Action Runtime**: Node 24
11+
- **Development Runtime**: Bun (JavaScript/TypeScript runtime & bundler)
1112
- **Language**: TypeScript with strict mode enabled
1213
- **Validation**: Zod for runtime schema validation
1314
- **Testing**: Bun's built-in test runner
14-
- **GitHub Integration**: @actions/core, @actions/github, @octokit/rest
15+
- **GitHub Integration**: @actions/core, @actions/github
1516
- **Formatting/Linting**: Biome
1617

1718
---

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ lint:
1414
bun run lint
1515
bun run typecheck
1616

17-
dist/index.js: $(TS_FILES) package.json node_modules
17+
dist/index.js: $(TS_FILES) package.json bun.lock node_modules
1818
bun run build
1919

2020
build: dist/index.js

action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,5 @@ outputs:
123123
description: "Human-readable error message when the chat fails."
124124

125125
runs:
126-
using: "node20"
126+
using: "node24"
127127
main: "dist/index.js"

biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
33
"files": {
44
"includes": ["src/**/*.ts", "src/**/*.js", "*.json", "*.md"],
55
"maxSize": 2097152

bun.lock

Lines changed: 39 additions & 100 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)