Compare commits

..
4 Commits
Author SHA1 Message Date
Francesco Renzi 10b53a9ec6 Merge pull request #352 from actions/rentziass/4.2.0
Prepare release v4.2.0
2023-03-13 13:10:02 +00:00
Francesco Renzi c5f1d2f012 Prepare release v4.2.0 2023-03-13 10:20:37 +00:00
Francesco Renzi fcd38580e9 Merge pull request #349 from actions/rentziass/core-v4
Upgrade @actions/core to 1.10.0 for v4
2023-03-10 17:24:40 +00:00
Francesco Renzi 9e0656c88d Upgrade @actions/core to 1.10.0 2023-03-10 17:01:55 +00:00
29 changed files with 7743 additions and 2466 deletions

No files matched your search

+6 -6
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
+3 -3
View File
@@ -14,7 +14,7 @@ jobs:
with:
script: |
// Get the existing comments.
const {data: comments} = await github.rest.issues.listComments({
const {data: comments} = await github.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
@@ -28,14 +28,14 @@ jobs:
console.log('Not attempting to write comment on PR from fork');
} else {
if (botComment) {
await github.rest.issues.updateComment({
await github.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: commentBody
})
} else {
await github.rest.issues.createComment({
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
-4
View File
@@ -1,4 +0,0 @@
#!/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.
+22 -60
View File
@@ -27,26 +27,13 @@ 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 import them (see examples below).
defined, so you don't have to (see examples below).
See [octokit/rest.js](https://octokit.github.io/rest.js/) for the API client
documentation.
## 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
For example, `github.issues.createComment` in V4 becomes `github.rest.issues.createComment` in V5
`github.request`, `github.paginate`, and `github.graphql` are unchanged.
**Note** This action is still a bit of an experiment—the API may change in
future versions. 🙂
## Development
@@ -58,7 +45,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@v4
id: set-result
with:
script: return "Hello!"
@@ -77,7 +64,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@v4
id: my-script
with:
result-encoding: string
@@ -95,7 +82,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@v4
with:
script: console.log(context)
```
@@ -111,10 +98,10 @@ jobs:
comment:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
github.rest.issues.createComment({
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
@@ -133,10 +120,10 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
github.rest.issues.addLabels({
github.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
@@ -153,13 +140,13 @@ jobs:
welcome:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
// Get a list of all issues created by the PR opener
// See: https://octokit.github.io/rest.js/#pagination
const creator = context.payload.sender.login
const opts = github.rest.issues.listForRepo.endpoint.merge({
const opts = github.issues.listForRepo.endpoint.merge({
...context.issue,
creator,
state: 'all'
@@ -176,7 +163,7 @@ jobs:
}
}
await github.rest.issues.createComment({
await github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
@@ -196,7 +183,7 @@ jobs:
diff:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
const diff_url = context.payload.pull_request.diff_url
@@ -220,7 +207,7 @@ jobs:
list-issues:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
const query = `query($owner:String!, $name:String!, $label:String!) {
@@ -254,7 +241,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
const script = require('./path/to/script.js')
@@ -292,7 +279,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v6
- uses: actions/github-script@v4
env:
SHA: '${{env.parentSHA}}'
with:
@@ -306,7 +293,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.rest.repos.getCommit({
const commit = await github.repos.getCommit({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `${SHA}`
@@ -336,7 +323,7 @@ jobs:
- run: npm ci
# or one-off:
- run: npm install execa
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
script: |
const execa = require('execa')
@@ -346,31 +333,6 @@ 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:
@@ -382,7 +344,7 @@ jobs:
echo-input:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
env:
FIRST_NAME: Mona
LAST_NAME: Octocat
@@ -410,11 +372,11 @@ jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
- uses: actions/github-script@v4
with:
github-token: ${{ secrets.MY_PAT }}
script: |
github.rest.issues.addLabels({
github.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
+1 -1
View File
@@ -27,5 +27,5 @@ outputs:
result:
description: The return value of the script, stringified with `JSON.stringify`
runs:
using: node16
using: node12
main: dist/index.js
+2447 -719
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. 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.2.0 (a minor bump), you want to create (or update) `v5`, `v5.2`, and `v5.2.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.1.0 (a minor bump), you want to create (or update) `v5`, `v5.1`, and `v5.1.0`.
+5246 -1659
View File
File diff suppressed because it is too large. Load diff
+17 -13
View File
@@ -1,7 +1,7 @@
{
"name": "github-script",
"description": "A GitHub action for executing a simple script",
"version": "6.0.0",
"version": "4.2.0",
"author": "GitHub",
"license": "MIT",
"main": "dist/index.js",
@@ -14,8 +14,12 @@
"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",
"prepare": "husky install"
"test": "jest"
},
"husky": {
"hooks": {
"pre-commit": "npm run pre-commit && git add dist/"
}
},
"jest": {
"preset": "ts-jest",
@@ -31,27 +35,27 @@
}
},
"dependencies": {
"@actions/core": "^1.6.0",
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.0",
"@actions/github": "^5.0.0",
"@actions/glob": "^0.2.0",
"@actions/github": "^4.0.0",
"@actions/glob": "^0.1.2",
"@actions/io": "^1.1.1",
"@octokit/core": "^3.5.1",
"@octokit/plugin-paginate-rest": "^2.17.0",
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
"@octokit/plugin-paginate-rest": "^2.16.4",
"@octokit/plugin-rest-endpoint-methods": "^4.2.1"
},
"devDependencies": {
"@types/jest": "^27.0.2",
"@types/jest": "^26.0.24",
"@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": "^7.0.0",
"jest": "^27.2.5",
"husky": "^4.2.5",
"jest": "^26.6.3",
"npm-run-all": "^4.1.5",
"prettier": "^2.0.5",
"ts-jest": "^27.0.5",
"ts-jest": "^26.5.6",
"typescript": "^4.3.5"
}
}
}