Compare commits

...

24 Commits

Author SHA1 Message Date
Josh Gross
9ac08808f9 Merge pull request #240 from actions/joshmgross/document-esm
Add an example using ESM `import`
2022-02-11 10:21:32 -05:00
Josh Gross
53cdbb4a1b Merge pull request #239 from actions/joshmgross/v6
Release version 6.0.0
2022-02-11 10:21:20 -05:00
Josh Gross
6b8d8aaad4 Merge pull request #238 from actions/joshmgross/update-actions-core
Update `@actions/core` to 1.6.0
2022-02-11 10:19:36 -05:00
Josh Gross
6689be4f99 Merge pull request #237 from actions/joshmgross/audit-fix
Update `node-fetch`
2022-02-11 10:19:26 -05:00
Josh Gross
5541733ecf Add an example using ESM import 2022-02-09 16:17:11 -05:00
Josh Gross
cd8eebf4a5 Release version 6.0.0 2022-02-09 16:05:04 -05:00
Josh Gross
72fadf4ee8 Update @actions/core to 1.6.0 2022-02-09 15:58:07 -05:00
Josh Gross
d526c0463a Update node-fetch license 2022-02-09 15:54:39 -05:00
Josh Gross
2c946f132f Run npm audit fix 2022-02-09 15:47:54 -05:00
Josh Gross
41e1ab4f53 Merge pull request #235 from thboop/patch-1
Update default runtime to node16
2022-02-09 15:46:20 -05:00
Thomas Boop
d2ed94b14f Update default runtime to node16
Node 12 has an end of life on April 30, 2022.

This PR updates the default runtime to [node16](https://github.blog/changelog/2021-12-10-github-actions-github-hosted-runners-now-run-node-js-16-by-default/), rather then node12. 

This is supported on all Actions Runners v2.285.0 or later.
2022-02-07 14:00:27 -05:00
Josh Gross
e3cbab99d3 Merge pull request #228 from actions/joshmgross/license-updates
Update licenses and use `jonabc/setup-licensed` in workflow
2022-01-07 13:30:24 -05:00
Josh Gross
115b09eedf Update licenses with licensed cache 2022-01-06 14:39:31 -05:00
Josh Gross
df46368761 Use jonabc/setup-licensed in Licensed workflow 2022-01-06 14:39:07 -05:00
Josh Gross
faea5b2adf Merge pull request #216 from PeterNitscheMI/update-plugin-dependencies
update plugin dependencies
2022-01-06 14:26:56 -05:00
PeterNitscheMI
382585067c Update license cache 2021-12-30 21:43:15 +01:00
PeterNitscheMI
7b791155c1 prepare release 2021-11-19 19:20:22 +01:00
PeterNitscheMI
f6f802415c update plugin dependencies 2021-11-19 19:07:40 +01:00
Josh Gross
0c6f007687 Merge pull request #215 from ansgarm/patch-1
fix typo
2021-11-18 11:18:10 -05:00
Ansgar Mertens
b3a068aede fix typo 2021-11-18 13:25:08 +01:00
Josh Gross
00e1b58cd9 Merge pull request #204 from actions/joshmgross/update-dev-deps
Update to latest versions for dev dependencies
2021-10-13 18:02:40 -04:00
Josh Gross
c08c323075 Update to latest versions for dev dependencies 2021-10-12 20:59:24 +00:00
Josh Gross
9bb3853081 Merge pull request #201 from johan-lindqvist/fix-readme-example
docs(readme): fix README example
2021-10-08 13:46:06 -04:00
Johan X Lindqvist
415189ab4b docs(readme): fix README example 2021-10-07 12:30:39 +02:00
23 changed files with 2064 additions and 5527 deletions

View File

@@ -14,11 +14,11 @@ jobs:
name: Check licenses
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # prefer to use a full fetch for licensed workflows
# https://github.com/jonabc/setup-licensed/releases/tag/v1.1.1
- uses: jonabc/setup-licensed@82c5f4d19e8968efa74a25b132922382c2671fe2
with:
version: '3.x'
- run: npm ci
- name: Install licensed
run: |
cd $RUNNER_TEMP
curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/2.12.2/licensed-2.12.2-linux-x64.tar.gz
sudo tar -xzf licensed.tar.gz
sudo mv licensed /usr/local/bin/licensed
- run: licensed status

4
.husky/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run pre-commit && git add dist/

View File

@@ -1,6 +1,6 @@
---
name: "@actions/core"
version: 1.5.0
version: 1.6.0
type: npm
summary: Actions core lib
homepage: https://github.com/actions/toolkit/tree/main/packages/core

View File

@@ -3,7 +3,7 @@ name: "@octokit/auth-token"
version: 2.5.0
type: npm
summary: GitHub API token authentication for browsers and Node.js
homepage:
homepage: https://github.com/octokit/auth-token.js#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -3,7 +3,7 @@ name: "@octokit/endpoint"
version: 6.0.12
type: npm
summary: Turns REST API endpoints into generic request options
homepage:
homepage: https://github.com/octokit/endpoint.js#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -3,7 +3,7 @@ name: "@octokit/graphql"
version: 4.8.0
type: npm
summary: GitHub GraphQL API client for browsers and Node
homepage:
homepage: https://github.com/octokit/graphql.js#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -1,9 +1,9 @@
---
name: "@octokit/openapi-types"
version: 10.5.0
version: 11.2.0
type: npm
summary: Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com
homepage:
homepage: https://github.com/octokit/openapi-types.ts#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -1,8 +1,8 @@
---
name: "@octokit/plugin-paginate-rest"
version: 2.16.4
version: 2.17.0
type: npm
summary: Octokit plugin to paginate REST API endpoint responses
summary:
homepage:
license: mit
licenses:

View File

@@ -1,8 +1,8 @@
---
name: "@octokit/plugin-rest-endpoint-methods"
version: 5.11.1
version: 5.13.0
type: npm
summary: Octokit plugin adding one method for all of api.github.com REST API endpoints
summary:
homepage:
license: mit
licenses:

View File

@@ -3,7 +3,7 @@ name: "@octokit/request-error"
version: 2.1.0
type: npm
summary: Error class for Octokit request errors
homepage:
homepage: https://github.com/octokit/request-error.js#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -4,7 +4,7 @@ version: 5.6.1
type: npm
summary: "Send parameterized requests to GitHubâ\x80\x99s APIs with sensible defaults
in browsers and Node"
homepage:
homepage: https://github.com/octokit/request.js#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -1,9 +1,9 @@
---
name: "@octokit/types"
version: 6.31.0
version: 6.34.0
type: npm
summary: Shared TypeScript definitions for Octokit projects
homepage:
homepage: https://github.com/octokit/types.ts#readme
license: mit
licenses:
- sources: LICENSE

View File

@@ -3,7 +3,7 @@ name: before-after-hook
version: 2.2.2
type: npm
summary: asynchronous before/error/after hooks for internal functionality
homepage:
homepage: https://github.com/gr2m/before-after-hook#readme
license: apache-2.0
licenses:
- sources: LICENSE

View File

@@ -1,6 +1,6 @@
---
name: node-fetch
version: 2.6.5
version: 2.6.7
type: npm
summary: A light-weight module that brings window.fetch to node.js
homepage: https://github.com/bitinn/node-fetch

View File

@@ -4,7 +4,7 @@ version: 6.0.0
type: npm
summary: Get a user agent string in both browser and node
homepage: https://github.com/gr2m/universal-user-agent#readme
license: other
license: isc
licenses:
- sources: LICENSE.md
text: |

View File

@@ -3,7 +3,7 @@ name: webidl-conversions
version: 3.0.1
type: npm
summary: Implements the WebIDL algorithms for converting to and from JavaScript values
homepage:
homepage: https://github.com/jsdom/webidl-conversions#readme
license: bsd-2-clause
licenses:
- sources: LICENSE.md

View File

@@ -3,7 +3,7 @@ name: whatwg-url
version: 5.0.0
type: npm
summary: An implementation of the WHATWG URL Standard's URL API and parsing machinery
homepage:
homepage: https://github.com/jsdom/whatwg-url#readme
license: mit
licenses:
- sources: LICENSE.txt

View File

@@ -27,12 +27,20 @@ arguments will be provided:
our wrapping applied.
Since the `script` is just a function body, these values will already be
defined, so you don't have to (see examples below).
defined, so you don't have to import them (see examples below).
See [octokit/rest.js](https://octokit.github.io/rest.js/) for the API client
documentation.
## Breaking changes in V5
## Breaking Changes
### Breaking changes in 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#example-using-nodejs-v16
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
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
@@ -50,7 +58,7 @@ The return value of the script will be in the step's outputs under the
"result" key.
```yaml
- uses: actions/github-script@v5
- uses: actions/github-script@v6
id: set-result
with:
script: return "Hello!"
@@ -69,7 +77,7 @@ output of a github-script step. For some workflows, string encoding is preferred
`result-encoding` input:
```yaml
- uses: actions/github-script@v5
- uses: actions/github-script@v6
id: my-script
with:
result-encoding: string
@@ -87,7 +95,7 @@ By default, github-script will use the token provided to your workflow.
```yaml
- name: View context attributes
uses: actions/github-script@v5
uses: actions/github-script@v6
with:
script: console.log(context)
```
@@ -103,7 +111,7 @@ jobs:
comment:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.createComment({
@@ -125,7 +133,7 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
@@ -145,7 +153,7 @@ jobs:
welcome:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
// Get a list of all issues created by the PR opener
@@ -188,7 +196,7 @@ jobs:
diff:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
const diff_url = context.payload.pull_request.diff_url
@@ -212,7 +220,7 @@ jobs:
list-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
const query = `query($owner:String!, $name:String!, $label:String!) {
@@ -246,7 +254,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
const script = require('./path/to/script.js')
@@ -284,7 +292,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v5
- uses: actions/github-script@v6
env:
SHA: '${{env.parentSHA}}'
with:
@@ -298,7 +306,7 @@ And then export an async function from your module:
```javascript
module.exports = async ({github, context, core}) => {
const {SHA} = process.env
const commit = await github.repos.getCommit({
const commit = await github.rest.repos.getCommit({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `${SHA}`
@@ -328,7 +336,7 @@ jobs:
- run: npm ci
# or one-off:
- run: npm install execa
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
script: |
const execa = require('execa')
@@ -338,6 +346,31 @@ jobs:
console.log(stdout)
```
### Use ESM `import`
To import an ESM file, you'll need to reference your script by an absolute path and ensure you have a `package.json` file with `"type": "module"` specified.
For a script in your repository `src/print-stuff.js`:
```js
export default function printStuff() { console.log('stuff') }
```
```yaml
on: push
jobs:
print-stuff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v6
with:
script: |
const { default: printStuff } = await import('${{ github.workspace }}/src/print-stuff.js')
await printStuff()
```
### Use env as input
You can set env vars to use them in your script:
@@ -349,7 +382,7 @@ jobs:
echo-input:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
env:
FIRST_NAME: Mona
LAST_NAME: Octocat
@@ -377,7 +410,7 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v5
- uses: actions/github-script@v6
with:
github-token: ${{ secrets.MY_PAT }}
script: |

View File

@@ -27,5 +27,5 @@ outputs:
result:
description: The return value of the script, stringified with `JSON.stringify`
runs:
using: node12
using: node16
main: dist/index.js

746
dist/index.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -25,4 +25,4 @@ Releases are done manually, for now:
1. Ensure that the build is up to date with `npm run build`. It's also good to ensure you have the correct dependencies installed by running `npm install` before you build.
1. Bump the [package.json](/package.json#L3) and [package-lock.json](/package-lock.json#L3) version numbers and commit them. I like to do this with `npm version {major,minor,patch} --no-git-tag-version`. This will bump the version numbers but let you manually commit and tag, yourself.
1. Update documentation (including updated version numbers).
1. Tag main with the new version number and create a GitHub release. Make sure you also force-create and force-push tags for minor and patch updates. For example, when creating v5.1.0 (a minor bump), you want to create (or update) `v5`, `v5.1`, and `v5.1.0`.
1. Tag main with the new version number and create a GitHub release. Make sure you also force-create and force-push tags for minor and patch updates. For example, when creating v5.2.0 (a minor bump), you want to create (or update) `v5`, `v5.2`, and `v5.2.0`.

6698
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "github-script",
"description": "A GitHub action for executing a simple script",
"version": "5.0.0",
"version": "6.0.0",
"author": "GitHub",
"license": "MIT",
"main": "dist/index.js",
@@ -14,12 +14,8 @@
"style:check": "run-p --continue-on-error --aggregate-output format:check lint",
"style:write": "run-p --continue-on-error --aggregate-output format:write lint",
"pre-commit": "run-s style:write test build",
"test": "jest"
},
"husky": {
"hooks": {
"pre-commit": "npm run pre-commit && git add dist/"
}
"test": "jest",
"prepare": "husky install"
},
"jest": {
"preset": "ts-jest",
@@ -35,27 +31,27 @@
}
},
"dependencies": {
"@actions/core": "^1.5.0",
"@actions/core": "^1.6.0",
"@actions/exec": "^1.1.0",
"@actions/github": "^5.0.0",
"@actions/glob": "^0.2.0",
"@actions/io": "^1.1.1",
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.4",
"@octokit/plugin-rest-endpoint-methods": "^5.11.1"
"@octokit/plugin-paginate-rest": "^2.17.0",
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
},
"devDependencies": {
"@types/jest": "^26.0.24",
"@types/jest": "^27.0.2",
"@typescript-eslint/eslint-plugin": "^3.10.1",
"@typescript-eslint/parser": "^3.10.1",
"@vercel/ncc": "^0.23.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^6.15.0",
"husky": "^4.2.5",
"jest": "^26.6.3",
"husky": "^7.0.0",
"jest": "^27.2.5",
"npm-run-all": "^4.1.5",
"prettier": "^2.0.5",
"ts-jest": "^26.5.6",
"ts-jest": "^27.0.5",
"typescript": "^4.3.5"
}
}