Merge pull request #425 from actions/joshmgross/node-20

Update dependencies and use Node 20
This commit is contained in:
Josh Gross authored and GitHub committed 2023-11-13 13:02:38 -05:00
commit e69ef5462f
41 files changed
+32118 -10075

No files matched your search

+1 -1
View File
@@ -5,7 +5,7 @@ extends:
- eslint:recommended
- plugin:@typescript-eslint/eslint-recommended
- plugin:@typescript-eslint/recommended
- prettier/@typescript-eslint
- prettier
parserOptions:
project: ['tsconfig.eslint.json']
rules:
@@ -0,0 +1,12 @@
name: 'Install dependencies'
description: 'Set up node and install dependencies'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@v3
with:
node-version: '20.x'
cache: npm
- run: npm ci
shell: bash
+1 -8
View File
@@ -20,14 +20,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: npm
- name: Install dependencies
run: npm ci
- uses: ./.github/actions/install-dependencies
- name: Rebuild the dist/ directory
run: npm run build
+1 -5
View File
@@ -11,10 +11,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: npm
- run: npm ci
- uses: ./.github/actions/install-dependencies
- run: npm run style:check
- run: npm test
+8 -28
View File
@@ -50,12 +50,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
restore-keys: ${{runner.os}}-npm-
- run: npm ci
- uses: ./.github/actions/install-dependencies
- id: npm-require
uses: ./
with:
@@ -71,23 +66,18 @@ jobs:
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
test-previews:
name: 'Integration test: previews option'
name: 'Integration test: GraphQL previews option'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
restore-keys: ${{runner.os}}-npm-
- run: npm ci
- uses: ./.github/actions/install-dependencies
- id: previews-default
name: Default previews not set
uses: ./
with:
script: |
const endpoint = github.request.endpoint
return endpoint({}).headers.accept
return endpoint({url: "/graphql"}).headers.accept
result-encoding: string
- id: previews-set-single
name: Previews set to a single value
@@ -96,7 +86,7 @@ jobs:
previews: foo
script: |
const endpoint = github.request.endpoint
return endpoint({}).headers.accept
return endpoint({url: "/graphql"}).headers.accept
result-encoding: string
- id: previews-set-multiple
name: Previews set to comma-separated list
@@ -105,7 +95,7 @@ jobs:
previews: foo,bar,baz
script: |
const endpoint = github.request.endpoint
return endpoint({}).headers.accept
return endpoint({url: "/graphql"}).headers.accept
result-encoding: string
- run: |
echo "- Validating previews default"
@@ -133,12 +123,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
restore-keys: ${{runner.os}}-npm-
- run: npm ci
- uses: ./.github/actions/install-dependencies
- id: user-agent-default
name: Default user-agent not set
uses: ./
@@ -195,12 +180,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.npm
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
restore-keys: ${{runner.os}}-npm-
- run: npm ci
- uses: ./.github/actions/install-dependencies
- id: debug-default
name: Default debug not set
uses: ./
+1 -1
View File
@@ -20,5 +20,5 @@ jobs:
- uses: jonabc/setup-licensed@82c5f4d19e8968efa74a25b132922382c2671fe2
with:
version: '3.x'
- run: npm ci
- uses: ./.github/actions/install-dependencies
- run: licensed status
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
engine-strict=true
+28 -21
View File
@@ -18,7 +18,6 @@ The following arguments will be provided:
- `glob` A reference to the [@actions/glob](https://github.com/actions/toolkit/tree/main/packages/glob) package
- `io` A reference to the [@actions/io](https://github.com/actions/toolkit/tree/main/packages/io) package
- `exec` A reference to the [@actions/exec](https://github.com/actions/toolkit/tree/main/packages/exec) package
- `fetch` A reference to the [node-fetch](https://github.com/node-fetch/node-fetch) package
- `require` A proxy wrapper around the normal Node.js `require` to enable
requiring relative paths (relative to the current working directory) and
requiring npm packages installed in the current working directory. If for
@@ -34,13 +33,21 @@ documentation.
## Breaking Changes
### Breaking changes in V6
### V7
Version 6 of this action updated the runtime to Node 16 - https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#example-using-nodejs-v16
Version 7 of this action updated the runtime to Node 20 - https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions
All scripts are now run with Node 20 instead of Node 16 and are affected by any breaking changes between Node 16 and 20
The `previews` input now only applies to GraphQL API calls as REST API previews are no longer necessary - https://github.blog/changelog/2021-10-14-rest-api-preview-promotions/.
### V6
Version 6 of this action updated the runtime to Node 16 - https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions
All scripts are now run with Node 16 instead of Node 12 and are affected by any breaking changes between Node 12 and 16.
### Breaking changes in V5
### V5
Version 5 of this action includes the version 5 of `@actions/github` and `@octokit/plugin-rest-endpoint-methods`. As part of this update, the Octokit context available via `github` no longer has REST methods directly. These methods are available via `github.rest.*` - https://github.com/octokit/plugin-rest-endpoint-methods.js/releases/tag/v5.0.0
@@ -58,7 +65,7 @@ The return value of the script will be in the step's outputs under the
"result" key.
```yaml
- uses: actions/github-script@v6
- uses: actions/github-script@v7
id: set-result
with:
script: return "Hello!"
@@ -77,7 +84,7 @@ output of a github-script step. For some workflows, string encoding is preferred
`result-encoding` input:
```yaml
- uses: actions/github-script@v6
- uses: actions/github-script@v7
id: my-script
with:
result-encoding: string
@@ -89,7 +96,7 @@ output of a github-script step. For some workflows, string encoding is preferred
By default, requests made with the `github` instance will not be retried. You can configure this with the `retries` option:
```yaml
- uses: actions/github-script@v6
- uses: actions/github-script@v7
id: my-script
with:
result-encoding: string
@@ -107,7 +114,7 @@ In this example, request failures from `github.rest.issues.get()` will be retrie
You can also configure which status codes should be exempt from retries via the `retry-exempt-status-codes` option:
```yaml
- uses: actions/github-script@v6
- uses: actions/github-script@v7
id: my-script
with:
result-encoding: string
@@ -136,7 +143,7 @@ By default, github-script will use the token provided to your workflow.
```yaml
- name: View context attributes
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: console.log(context)
```
@@ -152,7 +159,7 @@ jobs:
comment:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
@@ -174,7 +181,7 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
github.rest.issues.addLabels({
@@ -196,7 +203,7 @@ jobs:
welcome:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
// Get a list of all issues created by the PR opener
@@ -241,7 +248,7 @@ jobs:
diff:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
const diff_url = context.payload.pull_request.diff_url
@@ -265,7 +272,7 @@ jobs:
list-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
const query = `query($owner:String!, $name:String!, $label:String!) {
@@ -299,7 +306,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
const script = require('./path/to/script.js')
@@ -337,7 +344,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/github-script@v6
- uses: actions/github-script@v7
env:
SHA: '${{env.parentSHA}}'
with:
@@ -377,11 +384,11 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
node-version: '20.x'
- run: npm ci
# or one-off:
- run: npm install execa
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
const execa = require('execa')
@@ -411,7 +418,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
script: |
const { default: printStuff } = await import('${{ github.workspace }}/src/print-stuff.js')
@@ -448,7 +455,7 @@ jobs:
echo-input:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
env:
FIRST_NAME: Mona
LAST_NAME: Octocat
@@ -476,7 +483,7 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v7
with:
github-token: ${{ secrets.MY_PAT }}
script: |
+2 -2
View File
@@ -19,7 +19,7 @@ inputs:
description: An optional user-agent string
default: actions/github-script
previews:
description: A comma-separated list of API previews to accept
description: A comma-separated list of GraphQL API previews to accept
result-encoding:
description: Either "string" or "json" (default "json")—how the result will be encoded
default: json
@@ -36,5 +36,5 @@ outputs:
result:
description: The return value of the script, stringified with `JSON.stringify`
runs:
using: node16
using: node20
main: dist/index.js
+26102 -5823
View File
File diff suppressed because it is too large. Load diff
+5925 -4150
View File
File diff suppressed because it is too large. Load diff
+35 -29
View File
@@ -1,12 +1,15 @@
{
"name": "github-script",
"description": "A GitHub action for executing a simple script",
"version": "6.4.0",
"version": "7.0.0",
"author": "GitHub",
"license": "MIT",
"main": "dist/index.js",
"types": "types/async-function.d.ts",
"private": true,
"engines": {
"node": ">=20.0.0 <21.0.0"
},
"scripts": {
"build": "npm run build:types && ncc build src/main.ts",
"build:types": "tsc src/async-function.ts -t es5 --declaration --allowJs --emitDeclarationOnly --outDir types",
@@ -22,40 +25,43 @@
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"globals": {
"ts-jest": {
"diagnostics": {
"ignoreCodes": [
"151001"
]
"transform": {
"^.+\\.ts$": [
"ts-jest",
{
"diagnostics": {
"ignoreCodes": [
"151001"
]
}
}
}
]
}
},
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.0",
"@actions/github": "^5.0.0",
"@actions/glob": "^0.3.0",
"@actions/io": "^1.1.1",
"@octokit/core": "^3.5.1",
"@octokit/plugin-request-log": "^1.0.4",
"@octokit/plugin-retry": "^3.0.9",
"node-fetch": "^2.6.7"
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
"@actions/glob": "^0.4.0",
"@actions/io": "^1.1.3",
"@octokit/core": "^5.0.1",
"@octokit/plugin-request-log": "^4.0.0",
"@octokit/plugin-retry": "^6.0.1",
"@types/node": "^20.9.0"
},
"devDependencies": {
"@types/jest": "^27.0.2",
"@types/node-fetch": "^2.6.2",
"@typescript-eslint/eslint-plugin": "^3.10.1",
"@typescript-eslint/parser": "^3.10.1",
"@vercel/ncc": "^0.36.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^6.15.0",
"@types/jest": "^29.5.5",
"@typescript-eslint/eslint-plugin": "^6.7.5",
"@typescript-eslint/parser": "^6.7.5",
"@vercel/ncc": "^0.38.0",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.1",
"husky": "^7.0.0",
"jest": "^27.2.5",
"jest": "^29.7.0",
"npm-run-all": "^4.1.5",
"prettier": "^2.0.5",
"ts-jest": "^27.0.5",
"typescript": "^4.3.5"
"prettier": "^3.0.3",
"ts-jest": "^29.1.1",
"typescript": "^5.2.2"
}
}
}
-2
View File
@@ -4,7 +4,6 @@ import {Context} from '@actions/github/lib/context'
import {GitHub} from '@actions/github/lib/utils'
import * as glob from '@actions/glob'
import * as io from '@actions/io'
import fetch from 'node-fetch'
const AsyncFunction = Object.getPrototypeOf(async () => null).constructor
@@ -15,7 +14,6 @@ export declare type AsyncFunctionArguments = {
exec: typeof exec
glob: typeof glob
io: typeof io
fetch: typeof fetch
require: NodeRequire
__original_require__: NodeRequire
}
+1 -3
View File
@@ -7,7 +7,6 @@ import * as io from '@actions/io'
import {requestLog} from '@octokit/plugin-request-log'
import {retry} from '@octokit/plugin-retry'
import {RequestRequestOptions} from '@octokit/types'
import fetch from 'node-fetch'
import {callAsyncFunction} from './async-function'
import {RetryOptions, getRetryOptions, parseNumberArray} from './retry-options'
import {wrapRequire} from './wrap-require'
@@ -62,8 +61,7 @@ async function main(): Promise<void> {
core,
exec,
glob,
io,
fetch
io
},
script
)
-2
View File
@@ -5,7 +5,6 @@ import { Context } from '@actions/github/lib/context';
import { GitHub } from '@actions/github/lib/utils';
import * as glob from '@actions/glob';
import * as io from '@actions/io';
import fetch from 'node-fetch';
export declare type AsyncFunctionArguments = {
context: Context;
core: typeof core;
@@ -13,7 +12,6 @@ export declare type AsyncFunctionArguments = {
exec: typeof exec;
glob: typeof glob;
io: typeof io;
fetch: typeof fetch;
require: NodeRequire;
__original_require__: NodeRequire;
};