diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 3ad718f..bd1c021 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -23,10 +23,10 @@ jobs: steps: - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - - name: Set Node.js 16.x + - name: Set Node.js 24.x uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e with: - node-version: 16.x + node-version: 24.x - name: Install dependencies run: npm ci diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b0f30ca..dd4762b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,6 +12,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + + - name: Set Node.js 24.x + uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e + with: + node-version: 24.x + - run: | npm install - run: | diff --git a/README.md b/README.md index d05eca7..7631780 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ GitHub Action to facilitate interaction with Appetize's API. This action can be used to upload an Android .apk or iOS .app to Appetize. +## :warning: Requirements + +This action runs on the `node24` runtime. GitHub-hosted runners support it out of the box; self-hosted runners must be on runner version `v2.327.1` or later. + ## :arrow_right: Inputs | Name | Description | Required | Default | @@ -61,6 +65,8 @@ GitHub Action to facilitate interaction with Appetize's API. This action can be ### Install the dependencies +Requires Node.js 24 or later. + ```bash npm install ``` diff --git a/action.yml b/action.yml index d200f49..0773885 100644 --- a/action.yml +++ b/action.yml @@ -56,5 +56,5 @@ outputs: publicKey: description: 'The public key of the app that was created or updated' runs: - using: 'node16' + using: 'node24' main: 'dist/index.js' diff --git a/package-lock.json b/package-lock.json index a60e39f..c266390 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@eslint/compat": "^1.2.7", - "@types/node": "^22.9.0", + "@types/node": "^24.0.0", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "@vercel/ncc": "^0.38.3", @@ -30,6 +30,9 @@ "prettier-eslint": "^16.3.0", "ts-jest": "^29.2.5", "typescript": "^5.8.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@actions/core": { @@ -1514,12 +1517,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.14.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", - "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/stack-utils": { @@ -7585,10 +7589,11 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" }, "node_modules/unrs-resolver": { "version": "1.3.3", diff --git a/package.json b/package.json index 670c840..edde858 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,16 @@ ], "author": "Appetize", "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "dependencies": { "@actions/core": "^1.10.1", "axios": "^1.7.7" }, "devDependencies": { "@eslint/compat": "^1.2.7", - "@types/node": "^22.9.0", + "@types/node": "^24.0.0", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "@vercel/ncc": "^0.38.3", diff --git a/tsconfig.base.json b/tsconfig.base.json index 6a0f60a..ba45cdf 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -5,8 +5,8 @@ "declaration": false, "declarationMap": false, "forceConsistentCasingInFileNames": true, - "lib": ["ES2022"], - "target": "ES2022", + "lib": ["ES2024"], + "target": "ES2024", "module": "NodeNext", "moduleResolution": "NodeNext", "noImplicitAny": true,