Skip to content

Commit 3b60637

Browse files
committed
Upgrade to Node 24
1 parent 9270f21 commit 3b60637

10 files changed

Lines changed: 48 additions & 29 deletions

File tree

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# Mark dist folder as generated
2-
dist/** -diff -merge linguist-generated=true
2+
dist/** -diff -merge linguist-generated
3+
dist/licenses.txt -merge linguist-vendored
4+
5+
pnpm-lock.yaml -merge linguist-vendored
6+

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Setup Node.js
2121
uses: actions/setup-node@v4
2222
with:
23-
node-version: '20'
23+
node-version: '24'
2424

2525
- name: Setup pnpm
2626
uses: pnpm/action-setup@v3

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
- name: Setup Node.js
4444
uses: actions/setup-node@v4
4545
with:
46-
node-version: '20'
46+
node-version: '24'
4747

4848
- name: Setup pnpm
4949
uses: pnpm/action-setup@v3

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Runloop
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,5 +86,5 @@ outputs:
8686
description: 'The final name of the created agent'
8787

8888
runs:
89-
using: 'node20'
89+
using: 'node24'
9090
main: 'dist/index.js'

dist/index.js

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"tar-stream": "^3.1.7"
3131
},
3232
"devDependencies": {
33-
"@types/node": "^20.19.26",
33+
"@types/node": "^24.0.0",
3434
"@types/tar-stream": "^3.1.4",
3535
"@typescript-eslint/eslint-plugin": "^8.49.0",
3636
"@typescript-eslint/parser": "^8.49.0",
@@ -42,6 +42,6 @@
4242
"typescript": "^5.9.3"
4343
},
4444
"engines": {
45-
"node": ">=20"
45+
"node": ">=24"
4646
}
4747
}

pnpm-lock.yaml

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

src/object-uploader.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as core from '@actions/core';
22
import * as fs from 'fs';
33
import * as path from 'path';
4+
import * as zlib from 'zlib';
45
import { RunloopSDK } from '@runloop/api-client';
56
import { ContentType } from './validators';
67

@@ -154,8 +155,6 @@ function hasTarHeader(buffer: Buffer): boolean {
154155
function hasTarHeaderInGzip(buffer: Buffer): boolean {
155156
if (!hasGzipHeader(buffer)) return false;
156157
try {
157-
const zlib = require('zlib');
158-
// Decompress enough to check the tar header (first 512 bytes of the tar)
159158
const decompressed = zlib.gunzipSync(buffer, { maxOutputLength: 512 });
160159
return hasTarHeader(decompressed);
161160
} catch {

0 commit comments

Comments
 (0)