mirror of
https://github.com/actions/github-script.git
synced 2026-10-15 20:06:55 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e69ef5462f | ||
|
|
ee0914b839 | ||
|
|
d6fc56f33b | ||
|
|
384d6cf581 | ||
|
|
84724927e3 | ||
|
|
84903f5182 | ||
|
|
5349cf9965 | ||
|
|
ecae9eb535 | ||
|
|
044ebbb945 | ||
|
|
6b5d3eac1f | ||
|
|
5940a76378 | ||
|
|
ef8023aa4a | ||
|
|
e8957ff5ee | ||
|
|
ea121b86f9 | ||
|
|
22dcf8ad68 | ||
|
|
a903cf2d66 | ||
|
|
30d8f852ac | ||
|
|
999c7fb9fe | ||
|
|
47bc917394 | ||
|
|
84ab08fe8b | ||
|
|
1f16022c75 | ||
|
|
5d8f827854 | ||
|
|
21446ed76b | ||
|
|
c857fcb22b | ||
|
|
ba13a89bc9 | ||
|
|
56bdc6c318 | ||
|
|
6f00a0b667 | ||
|
|
3a27f0b193 | ||
|
|
060d68304c | ||
|
|
d324628d3c | ||
|
|
6dcbc7ebb3 | ||
|
|
9e54a4c141 | ||
|
|
29423367f0 | ||
|
|
c141a9230e |
No files matched your search
+1
-1
@@ -5,7 +5,7 @@ extends:
|
|||||||
- eslint:recommended
|
- eslint:recommended
|
||||||
- plugin:@typescript-eslint/eslint-recommended
|
- plugin:@typescript-eslint/eslint-recommended
|
||||||
- plugin:@typescript-eslint/recommended
|
- plugin:@typescript-eslint/recommended
|
||||||
- prettier/@typescript-eslint
|
- prettier
|
||||||
parserOptions:
|
parserOptions:
|
||||||
project: ['tsconfig.eslint.json']
|
project: ['tsconfig.eslint.json']
|
||||||
rules:
|
rules:
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: Ask a question or provide feedback about using this action
|
||||||
|
about: For general Q&A and feedback, see the Discussions tab.
|
||||||
|
url: https://github.com/actions/github-script/discussions
|
||||||
|
- name: Ask a question or provide feedback about GitHub Actions
|
||||||
|
about: Please check out the GitHub community forum for discussions about GitHub Actions
|
||||||
|
url: https://github.com/orgs/community/discussions/categories/actions
|
||||||
@@ -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
|
||||||
@@ -10,11 +10,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -24,14 +20,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set Node.js 16.x
|
- uses: ./.github/actions/install-dependencies
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: npm
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Rebuild the dist/ directory
|
- name: Rebuild the dist/ directory
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|||||||
@@ -11,10 +11,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v3
|
- uses: ./.github/actions/install-dependencies
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
cache: npm
|
|
||||||
- run: npm ci
|
|
||||||
- run: npm run style:check
|
- run: npm run style:check
|
||||||
- run: npm test
|
- run: npm test
|
||||||
@@ -50,12 +50,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v3
|
- uses: ./.github/actions/install-dependencies
|
||||||
with:
|
|
||||||
path: ~/.npm
|
|
||||||
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
|
|
||||||
restore-keys: ${{runner.os}}-npm-
|
|
||||||
- run: npm ci
|
|
||||||
- id: npm-require
|
- id: npm-require
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -71,23 +66,18 @@ jobs:
|
|||||||
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
|
echo $'\u2705 Test passed' | tee -a $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
test-previews:
|
test-previews:
|
||||||
name: 'Integration test: previews option'
|
name: 'Integration test: GraphQL previews option'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v3
|
- uses: ./.github/actions/install-dependencies
|
||||||
with:
|
|
||||||
path: ~/.npm
|
|
||||||
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
|
|
||||||
restore-keys: ${{runner.os}}-npm-
|
|
||||||
- run: npm ci
|
|
||||||
- id: previews-default
|
- id: previews-default
|
||||||
name: Default previews not set
|
name: Default previews not set
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const endpoint = github.request.endpoint
|
const endpoint = github.request.endpoint
|
||||||
return endpoint({}).headers.accept
|
return endpoint({url: "/graphql"}).headers.accept
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
- id: previews-set-single
|
- id: previews-set-single
|
||||||
name: Previews set to a single value
|
name: Previews set to a single value
|
||||||
@@ -96,7 +86,7 @@ jobs:
|
|||||||
previews: foo
|
previews: foo
|
||||||
script: |
|
script: |
|
||||||
const endpoint = github.request.endpoint
|
const endpoint = github.request.endpoint
|
||||||
return endpoint({}).headers.accept
|
return endpoint({url: "/graphql"}).headers.accept
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
- id: previews-set-multiple
|
- id: previews-set-multiple
|
||||||
name: Previews set to comma-separated list
|
name: Previews set to comma-separated list
|
||||||
@@ -105,7 +95,7 @@ jobs:
|
|||||||
previews: foo,bar,baz
|
previews: foo,bar,baz
|
||||||
script: |
|
script: |
|
||||||
const endpoint = github.request.endpoint
|
const endpoint = github.request.endpoint
|
||||||
return endpoint({}).headers.accept
|
return endpoint({url: "/graphql"}).headers.accept
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
- run: |
|
- run: |
|
||||||
echo "- Validating previews default"
|
echo "- Validating previews default"
|
||||||
@@ -133,12 +123,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v3
|
- uses: ./.github/actions/install-dependencies
|
||||||
with:
|
|
||||||
path: ~/.npm
|
|
||||||
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
|
|
||||||
restore-keys: ${{runner.os}}-npm-
|
|
||||||
- run: npm ci
|
|
||||||
- id: user-agent-default
|
- id: user-agent-default
|
||||||
name: Default user-agent not set
|
name: Default user-agent not set
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -195,12 +180,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v3
|
- uses: ./.github/actions/install-dependencies
|
||||||
with:
|
|
||||||
path: ~/.npm
|
|
||||||
key: ${{runner.os}}-npm-${{hashFiles('**/package-lock.json')}}
|
|
||||||
restore-keys: ${{runner.os}}-npm-
|
|
||||||
- run: npm ci
|
|
||||||
- id: debug-default
|
- id: debug-default
|
||||||
name: Default debug not set
|
name: Default debug not set
|
||||||
uses: ./
|
uses: ./
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ jobs:
|
|||||||
- uses: jonabc/setup-licensed@82c5f4d19e8968efa74a25b132922382c2671fe2
|
- uses: jonabc/setup-licensed@82c5f4d19e8968efa74a25b132922382c2671fe2
|
||||||
with:
|
with:
|
||||||
version: '3.x'
|
version: '3.x'
|
||||||
- run: npm ci
|
- uses: ./.github/actions/install-dependencies
|
||||||
- run: licensed status
|
- run: licensed status
|
||||||
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
|||||||
* @actions/actions-experience
|
* @actions/actions-launch
|
||||||
@@ -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
|
- `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
|
- `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
|
- `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
|
- `require` A proxy wrapper around the normal Node.js `require` to enable
|
||||||
requiring relative paths (relative to the current working directory) and
|
requiring relative paths (relative to the current working directory) and
|
||||||
requiring npm packages installed in the current working directory. If for
|
requiring npm packages installed in the current working directory. If for
|
||||||
@@ -34,13 +33,21 @@ documentation.
|
|||||||
|
|
||||||
## Breaking Changes
|
## 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.
|
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
|
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.
|
"result" key.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
id: set-result
|
id: set-result
|
||||||
with:
|
with:
|
||||||
script: return "Hello!"
|
script: return "Hello!"
|
||||||
@@ -77,7 +84,7 @@ output of a github-script step. For some workflows, string encoding is preferred
|
|||||||
`result-encoding` input:
|
`result-encoding` input:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
id: my-script
|
id: my-script
|
||||||
with:
|
with:
|
||||||
result-encoding: string
|
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:
|
By default, requests made with the `github` instance will not be retried. You can configure this with the `retries` option:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
id: my-script
|
id: my-script
|
||||||
with:
|
with:
|
||||||
result-encoding: string
|
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:
|
You can also configure which status codes should be exempt from retries via the `retry-exempt-status-codes` option:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
id: my-script
|
id: my-script
|
||||||
with:
|
with:
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
@@ -136,7 +143,7 @@ By default, github-script will use the token provided to your workflow.
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: View context attributes
|
- name: View context attributes
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: console.log(context)
|
script: console.log(context)
|
||||||
```
|
```
|
||||||
@@ -152,7 +159,7 @@ jobs:
|
|||||||
comment:
|
comment:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.createComment({
|
github.rest.issues.createComment({
|
||||||
@@ -174,7 +181,7 @@ jobs:
|
|||||||
apply-label:
|
apply-label:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.addLabels({
|
github.rest.issues.addLabels({
|
||||||
@@ -196,7 +203,7 @@ jobs:
|
|||||||
welcome:
|
welcome:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
// Get a list of all issues created by the PR opener
|
// Get a list of all issues created by the PR opener
|
||||||
@@ -225,7 +232,7 @@ jobs:
|
|||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
body: `**Welcome**, new contributor!
|
body: `**Welcome**, new contributor!
|
||||||
|
|
||||||
Please make sure you're read our [contributing guide](CONTRIBUTING.md) and we look forward to reviewing your Pull request shortly ✨`
|
Please make sure you've read our [contributing guide](CONTRIBUTING.md) and we look forward to reviewing your Pull request shortly ✨`
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -241,7 +248,7 @@ jobs:
|
|||||||
diff:
|
diff:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const diff_url = context.payload.pull_request.diff_url
|
const diff_url = context.payload.pull_request.diff_url
|
||||||
@@ -265,7 +272,7 @@ jobs:
|
|||||||
list-issues:
|
list-issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const query = `query($owner:String!, $name:String!, $label:String!) {
|
const query = `query($owner:String!, $name:String!, $label:String!) {
|
||||||
@@ -299,7 +306,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const script = require('./path/to/script.js')
|
const script = require('./path/to/script.js')
|
||||||
@@ -337,7 +344,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
env:
|
env:
|
||||||
SHA: '${{env.parentSHA}}'
|
SHA: '${{env.parentSHA}}'
|
||||||
with:
|
with:
|
||||||
@@ -377,11 +384,11 @@ jobs:
|
|||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: '20.x'
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
# or one-off:
|
# or one-off:
|
||||||
- run: npm install execa
|
- run: npm install execa
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
@@ -411,7 +418,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const { default: printStuff } = await import('${{ github.workspace }}/src/print-stuff.js')
|
const { default: printStuff } = await import('${{ github.workspace }}/src/print-stuff.js')
|
||||||
@@ -419,6 +426,24 @@ jobs:
|
|||||||
await printStuff()
|
await printStuff()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Use scripts with jsDoc support
|
||||||
|
|
||||||
|
If you want type support for your scripts, you could use the command below to install the
|
||||||
|
`github-script` type declaration.
|
||||||
|
```sh
|
||||||
|
$ npm i -D @types/github-script@github:actions/github-script
|
||||||
|
```
|
||||||
|
|
||||||
|
And then add the `jsDoc` declaration to your script like this:
|
||||||
|
```js
|
||||||
|
// @ts-check
|
||||||
|
/** @param {import('@types/github-script').AsyncFunctionArguments} AsyncFunctionArguments */
|
||||||
|
export default async ({ core, context }) => {
|
||||||
|
core.debug("Running something at the moment");
|
||||||
|
return context.actor;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
### Use env as input
|
### Use env as input
|
||||||
|
|
||||||
You can set env vars to use them in your script:
|
You can set env vars to use them in your script:
|
||||||
@@ -430,7 +455,7 @@ jobs:
|
|||||||
echo-input:
|
echo-input:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
env:
|
env:
|
||||||
FIRST_NAME: Mona
|
FIRST_NAME: Mona
|
||||||
LAST_NAME: Octocat
|
LAST_NAME: Octocat
|
||||||
@@ -458,7 +483,7 @@ jobs:
|
|||||||
apply-label:
|
apply-label:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@v6
|
- uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.MY_PAT }}
|
github-token: ${{ secrets.MY_PAT }}
|
||||||
script: |
|
script: |
|
||||||
|
|||||||
+5
-2
@@ -19,7 +19,7 @@ inputs:
|
|||||||
description: An optional user-agent string
|
description: An optional user-agent string
|
||||||
default: actions/github-script
|
default: actions/github-script
|
||||||
previews:
|
previews:
|
||||||
description: A comma-separated list of API previews to accept
|
description: A comma-separated list of GraphQL API previews to accept
|
||||||
result-encoding:
|
result-encoding:
|
||||||
description: Either "string" or "json" (default "json")—how the result will be encoded
|
description: Either "string" or "json" (default "json")—how the result will be encoded
|
||||||
default: json
|
default: json
|
||||||
@@ -29,9 +29,12 @@ inputs:
|
|||||||
retry-exempt-status-codes:
|
retry-exempt-status-codes:
|
||||||
description: A comma separated list of status codes that will NOT be retried e.g. "400,500". No effect unless `retries` is set
|
description: A comma separated list of status codes that will NOT be retried e.g. "400,500". No effect unless `retries` is set
|
||||||
default: 400,401,403,404,422 # from https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14
|
default: 400,401,403,404,422 # from https://github.com/octokit/plugin-retry.js/blob/9a2443746c350b3beedec35cf26e197ea318a261/src/index.ts#L14
|
||||||
|
base-url:
|
||||||
|
description: An optional GitHub REST API URL to connect to a different GitHub instance. For example, https://my.github-enterprise-server.com/api/v3
|
||||||
|
required: false
|
||||||
outputs:
|
outputs:
|
||||||
result:
|
result:
|
||||||
description: The return value of the script, stringified with `JSON.stringify`
|
description: The return value of the script, stringified with `JSON.stringify`
|
||||||
runs:
|
runs:
|
||||||
using: node16
|
using: node20
|
||||||
main: dist/index.js
|
main: dist/index.js
|
||||||
Vendored
+26105
-5824
File diff suppressed because it is too large.
Load diff
Generated
+5925
-4150
File diff suppressed because it is too large.
Load diff
+38
-30
@@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "github-script",
|
"name": "github-script",
|
||||||
"description": "A GitHub action for executing a simple script",
|
"description": "A GitHub action for executing a simple script",
|
||||||
"version": "6.4.0",
|
"version": "7.0.0",
|
||||||
"author": "GitHub",
|
"author": "GitHub",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
"types": "types/async-function.d.ts",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.0.0 <21.0.0"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "ncc build src/main.ts",
|
"build": "npm run build:types && ncc build src/main.ts",
|
||||||
|
"build:types": "tsc src/async-function.ts -t es5 --declaration --allowJs --emitDeclarationOnly --outDir types",
|
||||||
"format:check": "prettier --check src __test__",
|
"format:check": "prettier --check src __test__",
|
||||||
"format:write": "prettier --write src __test__",
|
"format:write": "prettier --write src __test__",
|
||||||
"lint": "eslint src __test__",
|
"lint": "eslint src __test__",
|
||||||
@@ -20,40 +25,43 @@
|
|||||||
"jest": {
|
"jest": {
|
||||||
"preset": "ts-jest",
|
"preset": "ts-jest",
|
||||||
"testEnvironment": "node",
|
"testEnvironment": "node",
|
||||||
"globals": {
|
"transform": {
|
||||||
"ts-jest": {
|
"^.+\\.ts$": [
|
||||||
"diagnostics": {
|
"ts-jest",
|
||||||
"ignoreCodes": [
|
{
|
||||||
"151001"
|
"diagnostics": {
|
||||||
]
|
"ignoreCodes": [
|
||||||
|
"151001"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.1",
|
||||||
"@actions/exec": "^1.1.0",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/github": "^5.0.0",
|
"@actions/github": "^6.0.0",
|
||||||
"@actions/glob": "^0.3.0",
|
"@actions/glob": "^0.4.0",
|
||||||
"@actions/io": "^1.1.1",
|
"@actions/io": "^1.1.3",
|
||||||
"@octokit/core": "^3.5.1",
|
"@octokit/core": "^5.0.1",
|
||||||
"@octokit/plugin-request-log": "^1.0.4",
|
"@octokit/plugin-request-log": "^4.0.0",
|
||||||
"@octokit/plugin-retry": "^3.0.9",
|
"@octokit/plugin-retry": "^6.0.1",
|
||||||
"node-fetch": "^2.6.7"
|
"@types/node": "^20.9.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^27.0.2",
|
"@types/jest": "^29.5.5",
|
||||||
"@types/node-fetch": "^2.6.2",
|
"@typescript-eslint/eslint-plugin": "^6.7.5",
|
||||||
"@typescript-eslint/eslint-plugin": "^3.10.1",
|
"@typescript-eslint/parser": "^6.7.5",
|
||||||
"@typescript-eslint/parser": "^3.10.1",
|
"@vercel/ncc": "^0.38.0",
|
||||||
"@vercel/ncc": "^0.36.0",
|
"eslint": "^8.51.0",
|
||||||
"eslint": "^7.32.0",
|
"eslint-config-prettier": "^9.0.0",
|
||||||
"eslint-config-prettier": "^6.15.0",
|
"eslint-plugin-prettier": "^5.0.1",
|
||||||
"husky": "^7.0.0",
|
"husky": "^7.0.0",
|
||||||
"jest": "^27.2.5",
|
"jest": "^29.7.0",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"prettier": "^2.0.5",
|
"prettier": "^3.0.3",
|
||||||
"ts-jest": "^27.0.5",
|
"ts-jest": "^29.1.1",
|
||||||
"typescript": "^4.3.5"
|
"typescript": "^5.2.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,18 +4,16 @@ import {Context} from '@actions/github/lib/context'
|
|||||||
import {GitHub} from '@actions/github/lib/utils'
|
import {GitHub} from '@actions/github/lib/utils'
|
||||||
import * as glob from '@actions/glob'
|
import * as glob from '@actions/glob'
|
||||||
import * as io from '@actions/io'
|
import * as io from '@actions/io'
|
||||||
import fetch from 'node-fetch'
|
|
||||||
|
|
||||||
const AsyncFunction = Object.getPrototypeOf(async () => null).constructor
|
const AsyncFunction = Object.getPrototypeOf(async () => null).constructor
|
||||||
|
|
||||||
type AsyncFunctionArguments = {
|
export declare type AsyncFunctionArguments = {
|
||||||
context: Context
|
context: Context
|
||||||
core: typeof core
|
core: typeof core
|
||||||
github: InstanceType<typeof GitHub>
|
github: InstanceType<typeof GitHub>
|
||||||
exec: typeof exec
|
exec: typeof exec
|
||||||
glob: typeof glob
|
glob: typeof glob
|
||||||
io: typeof io
|
io: typeof io
|
||||||
fetch: typeof fetch
|
|
||||||
require: NodeRequire
|
require: NodeRequire
|
||||||
__original_require__: NodeRequire
|
__original_require__: NodeRequire
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -7,7 +7,6 @@ import * as io from '@actions/io'
|
|||||||
import {requestLog} from '@octokit/plugin-request-log'
|
import {requestLog} from '@octokit/plugin-request-log'
|
||||||
import {retry} from '@octokit/plugin-retry'
|
import {retry} from '@octokit/plugin-retry'
|
||||||
import {RequestRequestOptions} from '@octokit/types'
|
import {RequestRequestOptions} from '@octokit/types'
|
||||||
import fetch from 'node-fetch'
|
|
||||||
import {callAsyncFunction} from './async-function'
|
import {callAsyncFunction} from './async-function'
|
||||||
import {RetryOptions, getRetryOptions, parseNumberArray} from './retry-options'
|
import {RetryOptions, getRetryOptions, parseNumberArray} from './retry-options'
|
||||||
import {wrapRequire} from './wrap-require'
|
import {wrapRequire} from './wrap-require'
|
||||||
@@ -18,6 +17,7 @@ main().catch(handleError)
|
|||||||
type Options = {
|
type Options = {
|
||||||
log?: Console
|
log?: Console
|
||||||
userAgent?: string
|
userAgent?: string
|
||||||
|
baseUrl?: string
|
||||||
previews?: string[]
|
previews?: string[]
|
||||||
retry?: RetryOptions
|
retry?: RetryOptions
|
||||||
request?: RequestRequestOptions
|
request?: RequestRequestOptions
|
||||||
@@ -28,6 +28,7 @@ async function main(): Promise<void> {
|
|||||||
const debug = core.getBooleanInput('debug')
|
const debug = core.getBooleanInput('debug')
|
||||||
const userAgent = core.getInput('user-agent')
|
const userAgent = core.getInput('user-agent')
|
||||||
const previews = core.getInput('previews')
|
const previews = core.getInput('previews')
|
||||||
|
const baseUrl = core.getInput('base-url')
|
||||||
const retries = parseInt(core.getInput('retries'))
|
const retries = parseInt(core.getInput('retries'))
|
||||||
const exemptStatusCodes = parseNumberArray(
|
const exemptStatusCodes = parseNumberArray(
|
||||||
core.getInput('retry-exempt-status-codes')
|
core.getInput('retry-exempt-status-codes')
|
||||||
@@ -43,7 +44,8 @@ async function main(): Promise<void> {
|
|||||||
userAgent: userAgent || undefined,
|
userAgent: userAgent || undefined,
|
||||||
previews: previews ? previews.split(',') : undefined,
|
previews: previews ? previews.split(',') : undefined,
|
||||||
retry: retryOpts,
|
retry: retryOpts,
|
||||||
request: requestOpts
|
request: requestOpts,
|
||||||
|
baseUrl: baseUrl || undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
const github = getOctokit(token, opts, retry, requestLog)
|
const github = getOctokit(token, opts, retry, requestLog)
|
||||||
@@ -59,8 +61,7 @@ async function main(): Promise<void> {
|
|||||||
core,
|
core,
|
||||||
exec,
|
exec,
|
||||||
glob,
|
glob,
|
||||||
io,
|
io
|
||||||
fetch
|
|
||||||
},
|
},
|
||||||
script
|
script
|
||||||
)
|
)
|
||||||
|
|||||||
Vendored
+18
@@ -0,0 +1,18 @@
|
|||||||
|
/// <reference types="node" />
|
||||||
|
import * as core from '@actions/core';
|
||||||
|
import * as exec from '@actions/exec';
|
||||||
|
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';
|
||||||
|
export declare type AsyncFunctionArguments = {
|
||||||
|
context: Context;
|
||||||
|
core: typeof core;
|
||||||
|
github: InstanceType<typeof GitHub>;
|
||||||
|
exec: typeof exec;
|
||||||
|
glob: typeof glob;
|
||||||
|
io: typeof io;
|
||||||
|
require: NodeRequire;
|
||||||
|
__original_require__: NodeRequire;
|
||||||
|
};
|
||||||
|
export declare function callAsyncFunction<T>(args: AsyncFunctionArguments, source: string): Promise<T>;
|
||||||
Reference in new issue
Block a user