From 82bcd2a21cb8a53502c1afb652f78400b7ed7711 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Sun, 29 Mar 2026 07:06:41 +0800 Subject: [PATCH 1/5] feat: Run on `node24` --- .github/workflows/package-action.yml | 4 +-- .github/workflows/tests-integration.yml | 4 +-- LICENSE | 2 +- action.yml | 4 +-- package-lock.json | 37 +++++++++++++++++-------- package.json | 6 ++-- src/main.ts | 8 ++++-- 7 files changed, 42 insertions(+), 23 deletions(-) diff --git a/.github/workflows/package-action.yml b/.github/workflows/package-action.yml index a3c9eaf..eb92b1e 100644 --- a/.github/workflows/package-action.yml +++ b/.github/workflows/package-action.yml @@ -12,9 +12,9 @@ jobs: - uses: actions/checkout@v2 with: ssh-key: "${{ secrets.COMMIT_KEY }}" - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v6 with: - node-version: 16 + node-version-file: "package.json" - name: Install Javascript dependencies with npm run: npm install - name: Package action for distribution diff --git a/.github/workflows/tests-integration.yml b/.github/workflows/tests-integration.yml index 1bc2424..dbe14e4 100644 --- a/.github/workflows/tests-integration.yml +++ b/.github/workflows/tests-integration.yml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v6 with: - node-version: 16 + node-version-file: "package.json" - name: Install Javascript dependencies with npm if: ${{ github.ref != 'refs/heads/release' }} run: npm install diff --git a/LICENSE b/LICENSE index 94c0af8..3ccfab1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2021 > LIMITED and contributors +Copyright (c) 2026 shr.ink OÜ and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/action.yml b/action.yml index 195c48b..7e53741 100644 --- a/action.yml +++ b/action.yml @@ -3,7 +3,7 @@ branding: icon: "target" color: "green" description: "Write tests in GitHub Workflows for integration tests and build pipelines" -author: "Samuel Ryan " +author: "Samuel Ryan " inputs: assertion: description: "Name of the assertion to run against value" @@ -49,5 +49,5 @@ outputs: error: description: "Error message (if any) that has been output to the log" runs: - using: "node16" + using: "node24" main: "dist/index.js" diff --git a/package-lock.json b/package-lock.json index b06f5c3..05eb356 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@types/jest": "^26.0.15", "@types/node": "^14.14.9", "@typescript-eslint/parser": "^5", - "@vercel/ncc": "^0.25.1", + "@vercel/ncc": "^0.38.4", "eslint": "^8", "eslint-plugin-github": "^4.1.1", "eslint-plugin-jest": "^26", @@ -32,7 +32,7 @@ "typescript": "^4.1.3" }, "engines": { - "node": ">=16.0.0" + "node": ">=24.0.0" } }, "node_modules/@actions/core": { @@ -91,6 +91,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", @@ -1582,10 +1583,11 @@ } }, "node_modules/@vercel/ncc": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.25.1.tgz", - "integrity": "sha512-dGecC5+1wLof1MQpey4+6i2KZv4Sfs6WfXkl9KfO32GED4ZPiKxRfvtGPjbjZv0IbqMl6CxtcV1RotXYfd5SSA==", + "version": "0.38.4", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz", + "integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==", "dev": true, + "license": "MIT", "bin": { "ncc": "dist/ncc/cli.js" } @@ -1601,6 +1603,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2087,6 +2090,7 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001400", "electron-to-chromium": "^1.4.251", @@ -2880,6 +2884,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, + "peer": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", "@humanwhocodes/config-array": "^0.11.6", @@ -4793,6 +4798,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", "dev": true, + "peer": true, "dependencies": { "@jest/core": "^26.6.3", "import-local": "^3.0.2", @@ -6457,6 +6463,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, + "peer": true, "bin": { "prettier": "bin-prettier.js" }, @@ -8221,6 +8228,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8779,6 +8787,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", "dev": true, + "peer": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", @@ -9943,9 +9952,9 @@ } }, "@vercel/ncc": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.25.1.tgz", - "integrity": "sha512-dGecC5+1wLof1MQpey4+6i2KZv4Sfs6WfXkl9KfO32GED4ZPiKxRfvtGPjbjZv0IbqMl6CxtcV1RotXYfd5SSA==", + "version": "0.38.4", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz", + "integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==", "dev": true }, "abab": { @@ -9958,7 +9967,8 @@ "version": "8.8.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true + "dev": true, + "peer": true }, "acorn-globals": { "version": "6.0.0", @@ -10317,6 +10327,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, + "peer": true, "requires": { "caniuse-lite": "^1.0.30001400", "electron-to-chromium": "^1.4.251", @@ -10927,6 +10938,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, + "peer": true, "requires": { "@eslint/eslintrc": "^1.3.3", "@humanwhocodes/config-array": "^0.11.6", @@ -12352,6 +12364,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", "dev": true, + "peer": true, "requires": { "@jest/core": "^26.6.3", "import-local": "^3.0.2", @@ -13649,7 +13662,8 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true + "dev": true, + "peer": true }, "prettier-linter-helpers": { "version": "1.0.0", @@ -15018,7 +15032,8 @@ "version": "4.8.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", - "dev": true + "dev": true, + "peer": true }, "unbox-primitive": { "version": "1.0.2", diff --git a/package.json b/package.json index 6404ef7..c77770c 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "style": "npm run format && npm run lint" }, "engines": { - "node": ">=16.0.0" + "node": ">=24.0.0" }, "keywords": [ "actions", @@ -19,7 +19,7 @@ "assertions", "assert" ], - "author": "Samuel Ryan ", + "author": "Samuel Ryan ", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", @@ -32,7 +32,7 @@ "@types/jest": "^26.0.15", "@types/node": "^14.14.9", "@typescript-eslint/parser": "^5", - "@vercel/ncc": "^0.25.1", + "@vercel/ncc": "^0.38.4", "eslint": "^8", "eslint-plugin-github": "^4.1.1", "eslint-plugin-jest": "^26", diff --git a/src/main.ts b/src/main.ts index ad39321..4e8e2c5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -73,8 +73,12 @@ async function run(): Promise { core.setOutput('pass', aggregateResult.pass.toString()) core.setOutput('passed', aggregateResult.pass.toString()) core.setOutput('failed', (!aggregateResult.pass).toString()) - } catch (error: any) { - core.setFailed(error.message) + } catch (error: unknown) { + core.setFailed( + error instanceof Error + ? error.message + : 'an unknown error occurred when running actions-assert' + ) } } From 229c536f030f75dfcf2c2a84c31ef2d11fa7e5d7 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Sun, 29 Mar 2026 07:08:37 +0800 Subject: [PATCH 2/5] ci: Update to `actions/checkout@v6` --- .github/workflows/package-action.yml | 2 +- .github/workflows/sync-release-branch.yml | 2 +- .github/workflows/tests-integration.yml | 22 +++++++++++----------- .github/workflows/tests-unit.yml | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/package-action.yml b/.github/workflows/package-action.yml index eb92b1e..ec7d680 100644 --- a/.github/workflows/package-action.yml +++ b/.github/workflows/package-action.yml @@ -9,7 +9,7 @@ jobs: push-changes: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 with: ssh-key: "${{ secrets.COMMIT_KEY }}" - uses: actions/setup-node@v6 diff --git a/.github/workflows/sync-release-branch.yml b/.github/workflows/sync-release-branch.yml index fed3721..51a3f38 100644 --- a/.github/workflows/sync-release-branch.yml +++ b/.github/workflows/sync-release-branch.yml @@ -9,7 +9,7 @@ jobs: update-branch: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 with: ref: "release" fetch-depth: 0 diff --git a/.github/workflows/tests-integration.yml b/.github/workflows/tests-integration.yml index dbe14e4..5dc9008 100644 --- a/.github/workflows/tests-integration.yml +++ b/.github/workflows/tests-integration.yml @@ -12,7 +12,7 @@ jobs: upload-dist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: node-version-file: "package.json" @@ -31,7 +31,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -64,7 +64,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -80,7 +80,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -113,7 +113,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -129,7 +129,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -154,7 +154,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -205,7 +205,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -263,7 +263,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -325,7 +325,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist @@ -356,7 +356,7 @@ jobs: needs: - upload-dist steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: actions/download-artifact@v2 with: name: dist diff --git a/.github/workflows/tests-unit.yml b/.github/workflows/tests-unit.yml index 2af5deb..cc4901e 100644 --- a/.github/workflows/tests-unit.yml +++ b/.github/workflows/tests-unit.yml @@ -9,6 +9,6 @@ jobs: unit-test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - run: npm install - run: npm run test From 9414515f9cbbd72d15eb4a37aa2492dd919fa243 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Sun, 29 Mar 2026 07:09:42 +0800 Subject: [PATCH 3/5] ci: Update to latest `actions/upload-artifacts` --- .github/workflows/tests-integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-integration.yml b/.github/workflows/tests-integration.yml index 5dc9008..ee6b51f 100644 --- a/.github/workflows/tests-integration.yml +++ b/.github/workflows/tests-integration.yml @@ -22,7 +22,7 @@ jobs: - name: Package action for integration tests if: ${{ github.ref != 'refs/heads/release' }} run: npm run package - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: dist path: ${{ env.dist-path }} From c40c71745b1bec60f03f5793e7875c3521603483 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Sun, 29 Mar 2026 07:11:56 +0800 Subject: [PATCH 4/5] ci: Update to `actions/download-artifact@v8` --- .github/workflows/tests-integration.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/tests-integration.yml b/.github/workflows/tests-integration.yml index ee6b51f..204e1aa 100644 --- a/.github/workflows/tests-integration.yml +++ b/.github/workflows/tests-integration.yml @@ -32,7 +32,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -65,7 +65,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -81,7 +81,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -114,7 +114,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -130,7 +130,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -155,7 +155,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -206,7 +206,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -264,7 +264,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -326,7 +326,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} @@ -357,7 +357,7 @@ jobs: - upload-dist steps: - uses: actions/checkout@v6 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v8 with: name: dist path: ${{ env.dist-path }} From 67794596767098379113856721e3466f97a67074 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Date: Sun, 29 Mar 2026 07:44:13 +0800 Subject: [PATCH 5/5] docs: Update to v5 --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 51145ea..b1c7b87 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Test actor is @shrink - uses: prompt/actions-assert@v4 + uses: prompt/actions-assert@v5 with: assertion: npm://@assertions/is-equal:v1 actual: "${{ github.actor }}" @@ -148,7 +148,7 @@ jobs: major: true minor: false - name: Assert alias is prefixed - uses: prompt/actions-assert@v4 + uses: prompt/actions-assert@v5 with: assertion: npm://@assertions/starts-with:v1 each: true @@ -178,7 +178,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: prompt/actions-assert@v4 + - uses: prompt/actions-assert@v5 with: assertion: npm://@assertions/directory-exists:v1 expected: dist @@ -195,8 +195,8 @@ tag. Any reference to this Action in a Workflow must use a [tag][tags] (mutable) or the commit hash of a tag (immutable). ```yaml -✅ uses: prompt/actions-assert@v2 -✅ uses: prompt/actions-assert@v2.0.0 +✅ uses: prompt/actions-assert@v5 +✅ uses: prompt/actions-assert@v5.0.0 ✅ uses: prompt/actions-assert@0d888b7601af756fff1ffc9d0d0dca8fcc214f0a ❌ uses: prompt/actions-assert@main ```