Compare commits

..
38 Commits
Author SHA1 Message Date
Josh Gross 7a5c598405 Merge pull request #263 from smaeda-ks/update-actions-core
Update `@actions/core` to 1.8.1
2022-05-12 18:43:19 -04:00
Josh Gross cb1c1eb6df Classify http-client licenses 2022-05-12 18:41:55 -04:00
Josh Gross 6203d71574 Update licenses 2022-05-12 18:39:12 -04:00
Shohei Maeda 19fe498d7b Update @actions/core to 1.8.1 2022-05-13 07:29:57 +09:00
Josh Gross 9bd6ae64c1 Merge pull request #254 from dlech/patch-1
README: use pull_request_target in example
2022-03-31 17:21:17 -04:00
David Lechner e44260d768 README: use pull_request_target in example
Pull requests from forks do not have write permission, so we need to use `pull_request_target` instead of `pull_request` to enable write permission.

Fixes #42.
2022-03-30 13:19:17 -05:00
Josh Gross 05418122f5 Merge pull request #251 from actions/dependabot/npm_and_yarn/minimist-1.2.6
Bump minimist from 1.2.5 to 1.2.6
2022-03-30 11:20:01 -04:00
Josh Gross b82abb9b60 Merge pull request #252 from josh-/add-formatting-example-readme
Update README with Markdown text formatting example
2022-03-29 11:01:09 -04:00
Josh Parnham d965d37133 Add text formatting example to README 2022-03-27 23:55:08 +11:00
dependabot[bot] 7cf7d15108 Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 06:03:59 +00:00
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
Josh Gross 441359b1a3 Merge pull request #193 from actions/joshmgross/v5
Upgrade to the latest version of Octokit
2021-09-24 12:41:56 -04:00
Josh Gross 4e1175c483 Update licenses 2021-09-23 21:22:44 +00:00
Josh Gross 004e46f649 Fix breaking change in workflow test 2021-09-23 21:21:43 +00:00
Josh Gross 5e5d515dc7 Upgrade to the latest version of Octokit 2021-09-23 21:16:55 +00:00
30 changed files with 2412 additions and 6671 deletions

No files matched your search

+6 -6
View File
@@ -14,11 +14,11 @@ jobs:
name: Check licenses name: Check licenses
steps: steps:
- uses: actions/checkout@v2 - 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 - 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 - run: licensed status
+3 -3
View File
@@ -14,7 +14,7 @@ jobs:
with: with:
script: | script: |
// Get the existing comments. // Get the existing comments.
const {data: comments} = await github.issues.listComments({ const {data: comments} = await github.rest.issues.listComments({
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
issue_number: context.payload.number, issue_number: context.payload.number,
@@ -28,14 +28,14 @@ jobs:
console.log('Not attempting to write comment on PR from fork'); console.log('Not attempting to write comment on PR from fork');
} else { } else {
if (botComment) { if (botComment) {
await github.issues.updateComment({ await github.rest.issues.updateComment({
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
comment_id: botComment.id, comment_id: botComment.id,
body: commentBody body: commentBody
}) })
} else { } else {
await github.issues.createComment({ await github.rest.issues.createComment({
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
issue_number: context.payload.number, issue_number: context.payload.number,
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run pre-commit && git add dist/
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.
BIN
View File
Binary file not shown.
+66 -24
View File
@@ -27,13 +27,26 @@ arguments will be provided:
our wrapping applied. our wrapping applied.
Since the `script` is just a function body, these values will already be 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 See [octokit/rest.js](https://octokit.github.io/rest.js/) for the API client
documentation. documentation.
**Note** This action is still a bit of an experiment—the API may change in ## Breaking Changes
future versions. 🙂
### 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
For example, `github.issues.createComment` in V4 becomes `github.rest.issues.createComment` in V5
`github.request`, `github.paginate`, and `github.graphql` are unchanged.
## Development ## Development
@@ -45,7 +58,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@v4 - uses: actions/github-script@v6
id: set-result id: set-result
with: with:
script: return "Hello!" script: return "Hello!"
@@ -64,7 +77,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@v4 - uses: actions/github-script@v6
id: my-script id: my-script
with: with:
result-encoding: string result-encoding: string
@@ -82,7 +95,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@v4 uses: actions/github-script@v6
with: with:
script: console.log(context) script: console.log(context)
``` ```
@@ -98,10 +111,10 @@ jobs:
comment: comment:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
github.issues.createComment({ github.rest.issues.createComment({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
@@ -120,10 +133,10 @@ jobs:
apply-label: apply-label:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
github.issues.addLabels({ github.rest.issues.addLabels({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
@@ -133,20 +146,22 @@ jobs:
### Welcome a first-time contributor ### Welcome a first-time contributor
You can format text in comments using the same [Markdown syntax](https://docs.github.com/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) as the GitHub web interface:
```yaml ```yaml
on: pull_request on: pull_request_target
jobs: jobs:
welcome: welcome:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
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
// See: https://octokit.github.io/rest.js/#pagination // See: https://octokit.github.io/rest.js/#pagination
const creator = context.payload.sender.login const creator = context.payload.sender.login
const opts = github.issues.listForRepo.endpoint.merge({ const opts = github.rest.issues.listForRepo.endpoint.merge({
...context.issue, ...context.issue,
creator, creator,
state: 'all' state: 'all'
@@ -163,11 +178,13 @@ jobs:
} }
} }
await github.issues.createComment({ await github.rest.issues.createComment({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
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 ✨`
}) })
``` ```
@@ -183,7 +200,7 @@ jobs:
diff: diff:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
const diff_url = context.payload.pull_request.diff_url const diff_url = context.payload.pull_request.diff_url
@@ -207,7 +224,7 @@ jobs:
list-issues: list-issues:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
const query = `query($owner:String!, $name:String!, $label:String!) { const query = `query($owner:String!, $name:String!, $label:String!) {
@@ -241,7 +258,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
const script = require('./path/to/script.js') const script = require('./path/to/script.js')
@@ -279,7 +296,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/github-script@v4 - uses: actions/github-script@v6
env: env:
SHA: '${{env.parentSHA}}' SHA: '${{env.parentSHA}}'
with: with:
@@ -293,7 +310,7 @@ And then export an async function from your module:
```javascript ```javascript
module.exports = async ({github, context, core}) => { module.exports = async ({github, context, core}) => {
const {SHA} = process.env const {SHA} = process.env
const commit = await github.repos.getCommit({ const commit = await github.rest.repos.getCommit({
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
ref: `${SHA}` ref: `${SHA}`
@@ -323,7 +340,7 @@ jobs:
- run: npm ci - run: npm ci
# or one-off: # or one-off:
- run: npm install execa - run: npm install execa
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
script: | script: |
const execa = require('execa') const execa = require('execa')
@@ -333,6 +350,31 @@ jobs:
console.log(stdout) 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 ### 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:
@@ -344,7 +386,7 @@ jobs:
echo-input: echo-input:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
env: env:
FIRST_NAME: Mona FIRST_NAME: Mona
LAST_NAME: Octocat LAST_NAME: Octocat
@@ -372,11 +414,11 @@ jobs:
apply-label: apply-label:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v4 - uses: actions/github-script@v6
with: with:
github-token: ${{ secrets.MY_PAT }} github-token: ${{ secrets.MY_PAT }}
script: | script: |
github.issues.addLabels({ github.rest.issues.addLabels({
issue_number: context.issue.number, issue_number: context.issue.number,
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
+1 -1
View File
@@ -27,5 +27,5 @@ 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: node12 using: node16
main: dist/index.js main: dist/index.js
+653 -1379
View File
File diff suppressed because it is too large. Load diff
+1 -1
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. 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. 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. 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`.
+1666 -5241
View File
File diff suppressed because it is too large. Load diff
+12 -16
View File
@@ -1,7 +1,7 @@
{ {
"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": "4.2.0", "version": "6.0.0",
"author": "GitHub", "author": "GitHub",
"license": "MIT", "license": "MIT",
"main": "dist/index.js", "main": "dist/index.js",
@@ -14,12 +14,8 @@
"style:check": "run-p --continue-on-error --aggregate-output format:check lint", "style:check": "run-p --continue-on-error --aggregate-output format:check lint",
"style:write": "run-p --continue-on-error --aggregate-output format:write lint", "style:write": "run-p --continue-on-error --aggregate-output format:write lint",
"pre-commit": "run-s style:write test build", "pre-commit": "run-s style:write test build",
"test": "jest" "test": "jest",
}, "prepare": "husky install"
"husky": {
"hooks": {
"pre-commit": "npm run pre-commit && git add dist/"
}
}, },
"jest": { "jest": {
"preset": "ts-jest", "preset": "ts-jest",
@@ -35,27 +31,27 @@
} }
}, },
"dependencies": { "dependencies": {
"@actions/core": "^1.10.0", "@actions/core": "^1.8.1",
"@actions/exec": "^1.1.0", "@actions/exec": "^1.1.0",
"@actions/github": "^4.0.0", "@actions/github": "^5.0.0",
"@actions/glob": "^0.1.2", "@actions/glob": "^0.2.0",
"@actions/io": "^1.1.1", "@actions/io": "^1.1.1",
"@octokit/core": "^3.5.1", "@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.16.4", "@octokit/plugin-paginate-rest": "^2.17.0",
"@octokit/plugin-rest-endpoint-methods": "^4.2.1" "@octokit/plugin-rest-endpoint-methods": "^5.13.0"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.24", "@types/jest": "^27.0.2",
"@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/eslint-plugin": "^3.10.1",
"@typescript-eslint/parser": "^3.10.1", "@typescript-eslint/parser": "^3.10.1",
"@vercel/ncc": "^0.23.0", "@vercel/ncc": "^0.23.0",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-prettier": "^6.15.0", "eslint-config-prettier": "^6.15.0",
"husky": "^4.2.5", "husky": "^7.0.0",
"jest": "^26.6.3", "jest": "^27.2.5",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^2.0.5", "prettier": "^2.0.5",
"ts-jest": "^26.5.6", "ts-jest": "^27.0.5",
"typescript": "^4.3.5" "typescript": "^4.3.5"
} }
} }