47 Commits
v1.0.1 ... v1

Author SHA1 Message Date
Thomas Hughes
0cb9c9b65d Merge pull request #96 from Chocrates/main
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
adding owner/repo options for remote releasing
2020-09-14 08:52:01 -05:00
Thomas Hughes
8868c043d3 Add commitish to inputs in README 2020-09-14 08:49:18 -05:00
Chris McIntosh
7c69cb4ced Updating readme with new inputs 2020-09-14 08:24:33 -05:00
Chris McIntosh
818a8f0696 adding owner/repo options for remote releasing 2020-09-11 16:28:30 -05:00
Thomas Boop
1e92f6fc66 Merge pull request #86 from thboop/thboop/AddThirdPartyLicenses
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
Add Third Party License Information to Dist Files
2020-08-11 15:35:46 -04:00
Thomas Boop
653bc6fb02 Update licenses for @actions npm modules 2020-08-06 19:29:08 -04:00
Thomas Boop
e7b3139eb2 Add Third Party License Information 2020-08-06 10:49:24 -04:00
Andy McKay
705dd14f2c Merge pull request #82 from actions/ci-on-main
Update branch
2020-07-21 08:25:15 -07:00
Andy McKay
c068e8508e Update ci.yml 2020-07-21 08:05:11 -07:00
Andy McKay
89e8dc2362 Merge pull request #81 from actions/dependabot/npm_and_yarn/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19
2020-07-21 08:03:21 -07:00
dependabot[bot]
44853f236d Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-18 12:07:34 +00:00
Mike Coutermarsh
25a1bf7b59 Fix tests, broken in merge, New inputs have been added since
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
2020-07-01 07:48:58 -07:00
Mike Coutermarsh
91b6c4e353 Fix merge conflicts 2020-07-01 07:29:54 -07:00
Mike Coutermarsh
d3311befb6 Merge pull request #50 from jbolda/master
create release with body text sourced from file
2020-07-01 07:27:47 -07:00
Mike Coutermarsh
8210505c40 Merge branch 'master' into master 2020-07-01 07:26:37 -07:00
Mike Coutermarsh
84b30a2ce1 Merge pull request #73 from jhutchings1/codeql
Add CodeQL security scanning
2020-06-16 12:53:01 -07:00
Mike Coutermarsh
e9dc4ac22d Merge pull request #32 from fleskesvor/feature/support-target-commitish
Tag and release on a specific commitish
2020-06-16 12:24:20 -07:00
Mike Coutermarsh
62b2b8381c Merge branch 'master' into feature/support-target-commitish 2020-06-16 12:21:59 -07:00
Mike Coutermarsh
d28992e4ca Merge pull request #75 from Bilge/patch-1
Changed release name to be optional field
2020-06-16 11:53:59 -07:00
Bilge
80985fc475 Changed release name to be optional field 2020-06-13 12:51:35 +01:00
Justin Hutchings
ec9ee66a82 Add CodeQL security scanning 2020-06-03 09:32:23 -07:00
Jacob Bolda
e9cf5d96f3 Merge pull request #2 from ssgglobal/master
body_path missing from action.yml
2020-05-27 07:09:33 -05:00
Jess Carlos
f37d718ae9 define body_path 2020-05-26 12:09:33 -07:00
PJ Quirk
c9ba6969f0 Merge pull request #70 from actions/users/paquirk/ghesfixes
Bump actions/github to 2.2.0
2020-05-15 15:20:08 -04:00
PJ Quirk
7bc451acb8 Bump actions/github to 2.2.0 2020-05-12 16:27:09 -04:00
Thomas Hughes
da6846bafe Merge pull request #62 from ericsciple/patch-1
Update readme example to pin to major version
2020-05-05 13:35:53 -05:00
eric sciple
6addae869b Update readme example to pin to major version 2020-04-23 20:45:39 -04:00
Thomas Hughes
164c698b8b Merge pull request #57 from actions/dependabot/npm_and_yarn/acorn-5.7.4
Bump acorn from 5.7.3 to 5.7.4
2020-04-17 08:15:48 -05:00
Thomas Hughes
c6361542cc Merge pull request #33 from actions/dependabot/npm_and_yarn/handlebars-4.5.3
Bump handlebars from 4.2.1 to 4.5.3
2020-04-17 08:15:00 -05:00
Jacob Bolda
9d21c8a3f2 update readme with body_path 2020-04-11 23:19:42 -05:00
Jacob Bolda
7424051c44 Merge branch 'master' of https://github.com/jbolda/create-release 2020-04-11 23:13:50 -05:00
Jacob Bolda
d16f41536b switch to snake case and body_path 2020-04-11 23:13:20 -05:00
Jacob Bolda
b77c216cf6 escape double quotes in eslint command 2020-04-11 23:00:32 -05:00
dependabot[bot]
e28d56d234 Bump acorn from 5.7.3 to 5.7.4
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-04-05 07:07:19 +00:00
Jacob Bolda
3cd5bbb314 Update README.md 2020-03-07 22:20:23 -06:00
Thomas Hughes
8f324cdc2e Merge pull request #45 from khitrenovich/patch-1
Update README to show usage of "latest" version
2020-02-28 08:23:48 +01:00
Anton Khitrenovich
0e420272a0 Update README to show usage of "latest" version
...otherwise `body` usage sample doesn't work, which results in a bunch of open issues on the topic.
2020-02-27 13:06:08 -05:00
Jacob Bolda
e0754ec952 Merge pull request #1 from jbolda/body-markdown
release body based on file
2020-02-05 22:58:59 -06:00
Jacob Bolda
6d0973ee39 reorder test mock inputs 2020-02-05 22:47:13 -06:00
Jacob Bolda
c06331b12c only error on actual attempt at using bodyFromFile and reorder a bit for tests 2020-02-05 22:46:40 -06:00
Jacob Bolda
76860a04af fix encoding 2020-02-03 23:14:20 -06:00
Jacob Bolda
15708f2a34 add new input, error if file not found 2020-02-03 23:04:42 -06:00
Jacob Bolda
cf2e5a0ea5 add encoding property 2020-02-03 22:49:09 -06:00
Jacob Bolda
bfe866faf6 try body as file, use as string otherwise 2020-02-03 22:37:38 -06:00
dependabot[bot]
62bca7df51 Bump handlebars from 4.2.1 to 4.5.3
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.2.1 to 4.5.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.2.1...v4.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-30 03:03:28 +00:00
fleskesvor
1a72e235c1 Add target_commitish to tests 2019-12-29 09:36:31 +01:00
fleskesvor
2b67105e25 Tag and release on a specific commitish 2019-12-29 09:06:12 +01:00
10 changed files with 16826 additions and 1158 deletions

View File

@@ -4,7 +4,7 @@ on:
pull_request:
push:
branches: # array of glob patterns matching against refs/heads. Optional; defaults to all
- master # triggers on pushes that contain changes in master
- main # triggers on pushes that contain changes in main
jobs:
test:

52
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: "Code scanning - action"
on:
push:
pull_request:
schedule:
- cron: '0 19 * * 0'
jobs:
CodeQL-Build:
# CodeQL runs on ubuntu-latest and windows-latest
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -12,9 +12,16 @@ For more information on these inputs, see the [API Documentation](https://develo
- `tag_name`: The name of the tag for this release
- `release_name`: The name of the release
- `body`: Text describing the contents of the release
- `body`: Text describing the contents of the release. Optional, and not needed if using `body_path`.
- `body_path`: A file with contents describing the release. Optional, and not needed if using `body`.
- `draft`: `true` to create a draft (unpublished) release, `false` to create a published one. Default: `false`
- `prerelease`: `true` to identify the release as a prerelease. `false` to identify the release as a full release. Default `false`
- `prerelease`: `true` to identify the release as a prerelease. `false` to identify the release as a full release. Default: `false`
- `commitish` : Any branch or commit SHA the Git tag is created from, unused if the Git tag already exists. Default: SHA of current commit
- `owner`: The name of the owner of the repo. Used to identify the owner of the repository. Used when cutting releases for external repositories. Default: Current owner
- `repo`: The name of the repository. Used to identify the repository on which to release. Used when cutting releases for external repositories. Default: Current repository
#### `body_path`
The `body_path` is valuable for dynamically creating a `.md` within code commits and even within the Github Action steps leading up to the `create-release`.
### Outputs
For more information on these outputs, see the [API Documentation](https://developer.github.com/v3/repos/releases/#response-4) for an example of what these outputs look like
@@ -41,7 +48,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
uses: actions/checkout@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1

View File

@@ -11,6 +11,9 @@ inputs:
body:
description: 'Text describing the contents of the tag.'
required: false
body_path:
description: 'Path to file with information about the tag.'
required: false
draft:
description: '`true` to create a draft (unpublished) release, `false` to create a published one. Default: `false`'
required: false
@@ -19,6 +22,15 @@ inputs:
description: '`true` to identify the release as a prerelease. `false` to identify the release as a full release. Default: `false`'
required: false
default: false
commitish:
description: 'Any branch or commit SHA the Git tag is created from, unused if the Git tag already exists. Default: SHA of current commit'
required: false
owner:
description: 'Owner of the repository if it is not the current one'
required: false
repo:
description: 'Repository on which to release. Used only if you want to create the release on another repo'
required: false
outputs:
id:
description: 'The ID of the created Release'

16400
dist/index.js vendored

File diff suppressed because one or more lines are too long

1232
dist/licenses.txt vendored Normal file

File diff suppressed because it is too large Load Diff

201
package-lock.json generated
View File

@@ -15,12 +15,21 @@
"integrity": "sha512-nquH0+XKng+Ll7rZfCojN7NWSbnGh+ltwUJhzfbLkmOJgxocGX2/yXcZLMyT9fa7+tByEow/NSTrBExNlEj9fw=="
},
"@actions/github": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-1.0.1.tgz",
"integrity": "sha512-fmji0JB0E4vmtXVjnqCJouLP4AyM/B5nbLe9U9ooPerxXh9r+VBlx8Lh5c+Dlvux1GooUduQxy4XVA21Lfs/Wg==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-2.2.0.tgz",
"integrity": "sha512-9UAZqn8ywdR70n3GwVle4N8ALosQs4z50N7XMXrSTUVOmVpaBC5kE3TRTT7qQdi3OaQV24mjGuJZsHUmhD+ZXw==",
"requires": {
"@octokit/graphql": "^2.0.1",
"@octokit/rest": "^16.15.0"
"@actions/http-client": "^1.0.3",
"@octokit/graphql": "^4.3.1",
"@octokit/rest": "^16.43.1"
}
},
"@actions/http-client": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.8.tgz",
"integrity": "sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==",
"requires": {
"tunnel": "0.0.6"
}
},
"@babel/code-frame": {
@@ -436,73 +445,91 @@
"@types/yargs": "^13.0.0"
}
},
"@octokit/endpoint": {
"version": "5.3.4",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.4.tgz",
"integrity": "sha512-DNkTvTUs1hobAjtHDkVwspKihZk9HnZI2zbfHqLOzTzZiAWP38QypTsyXXbg0FiuVDbx2A6cWyc+ooLFewNXSg==",
"@octokit/auth-token": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz",
"integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==",
"requires": {
"@octokit/types": "^2.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.1.tgz",
"integrity": "sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==",
"requires": {
"@octokit/types": "^2.11.1",
"is-plain-object": "^3.0.0",
"universal-user-agent": "^3.0.0"
},
"dependencies": {
"universal-user-agent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz",
"integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==",
"requires": {
"os-name": "^3.0.0"
}
}
"universal-user-agent": "^5.0.0"
}
},
"@octokit/graphql": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz",
"integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==",
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.4.0.tgz",
"integrity": "sha512-Du3hAaSROQ8EatmYoSAJjzAz3t79t9Opj/WY1zUgxVUGfIKn0AEjg+hlOLscF6fv6i/4y/CeUvsWgIfwMkTccw==",
"requires": {
"@octokit/request": "^5.0.0",
"universal-user-agent": "^2.0.3"
"@octokit/request": "^5.3.0",
"@octokit/types": "^2.0.0",
"universal-user-agent": "^5.0.0"
}
},
"@octokit/plugin-paginate-rest": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
"integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
"requires": {
"@octokit/types": "^2.0.1"
}
},
"@octokit/plugin-request-log": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
"integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw=="
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
"integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
"requires": {
"@octokit/types": "^2.0.1",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.0.2.tgz",
"integrity": "sha512-z1BQr43g4kOL4ZrIVBMHwi68Yg9VbkRUyuAgqCp1rU3vbYa69+2gIld/+gHclw15bJWQnhqqyEb7h5a5EqgZ0A==",
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.2.tgz",
"integrity": "sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==",
"requires": {
"@octokit/endpoint": "^5.1.0",
"@octokit/request-error": "^1.0.1",
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0",
"@octokit/types": "^2.11.1",
"deprecation": "^2.0.0",
"is-plain-object": "^3.0.0",
"node-fetch": "^2.3.0",
"once": "^1.4.0",
"universal-user-agent": "^3.0.0"
},
"dependencies": {
"universal-user-agent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz",
"integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==",
"requires": {
"os-name": "^3.0.0"
}
}
"universal-user-agent": "^5.0.0"
}
},
"@octokit/request-error": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz",
"integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.0.tgz",
"integrity": "sha512-rtYicB4Absc60rUv74Rjpzek84UbVHGHJRu4fNVlZ1mCcyUPPuzFfG9Rn6sjHrd95DEsmjSt1Axlc699ZlbDkw==",
"requires": {
"@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/rest": {
"version": "16.28.8",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.8.tgz",
"integrity": "sha512-FouTTcLdT++gwgKVnBN8CEVeFvY/OKzeaoH/L9LBvZhbjUotLthFWAdKa8WeOMt5x7Rs7uvBpu7IdcrtRD3wBA==",
"version": "16.43.1",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz",
"integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==",
"requires": {
"@octokit/request": "^5.0.0",
"@octokit/auth-token": "^2.4.0",
"@octokit/plugin-paginate-rest": "^1.1.1",
"@octokit/plugin-request-log": "^1.0.0",
"@octokit/plugin-rest-endpoint-methods": "2.4.0",
"@octokit/request": "^5.2.0",
"@octokit/request-error": "^1.0.2",
"atob-lite": "^2.0.0",
"before-after-hook": "^2.0.0",
@@ -513,19 +540,37 @@
"lodash.uniq": "^4.5.0",
"octokit-pagination-methods": "^1.1.0",
"once": "^1.4.0",
"universal-user-agent": "^3.0.0"
"universal-user-agent": "^4.0.0"
},
"dependencies": {
"universal-user-agent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz",
"integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==",
"@octokit/request-error": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
"integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
"requires": {
"os-name": "^3.0.0"
"@octokit/types": "^2.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"universal-user-agent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
"integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
"requires": {
"os-name": "^3.1.0"
}
}
}
},
"@octokit/types": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.0.tgz",
"integrity": "sha512-hA06ZYqkAVxvwFVu7yqRNVBGfG9MZvLMbqfgfm6F79g5xWspxsbL/2/rHcFP/z1YBN3zbcNQYuUHiBml4b24MA==",
"requires": {
"@types/node": ">= 8"
}
},
"@types/babel__core": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz",
@@ -592,6 +637,11 @@
"@types/istanbul-lib-report": "*"
}
},
"@types/node": {
"version": "13.13.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.5.tgz",
"integrity": "sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g=="
},
"@types/normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
@@ -632,9 +682,9 @@
"dev": true
},
"acorn": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
"integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
"version": "6.4.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
"dev": true
},
"acorn-globals": {
@@ -2982,9 +3032,9 @@
"dev": true
},
"handlebars": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.1.tgz",
"integrity": "sha512-bqPIlDk06UWbVEIFoYj+LVo42WhK96J+b25l7hbFDpxrOXMphFM3fNIm+cluwg4Pk2jiLjWU5nHQY7igGE75NQ==",
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz",
"integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -4164,9 +4214,9 @@
},
"dependencies": {
"acorn": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
"version": "5.7.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
"integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
"dev": true
}
}
@@ -4309,9 +4359,9 @@
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true
},
"lodash.get": {
@@ -6105,6 +6155,11 @@
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
"dev": true
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -6159,11 +6214,11 @@
}
},
"universal-user-agent": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz",
"integrity": "sha512-8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
"integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
"requires": {
"os-name": "^3.0.0"
"os-name": "^3.1.0"
}
},
"unset-value": {
@@ -6335,9 +6390,9 @@
"dev": true
},
"windows-release": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz",
"integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.0.tgz",
"integrity": "sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ==",
"requires": {
"execa": "^1.0.0"
}

View File

@@ -4,8 +4,9 @@
"description": "Create a release",
"main": "dist/index.js",
"scripts": {
"lint": "eslint 'src/**.js' 'tests/**.js' --fix",
"test": "eslint 'src/**.js' 'tests/**.js' && jest --coverage",
"lint": "eslint \"src/**.js\" \"tests/**.js\" --fix",
"test": "eslint \"src/**.js\" \"tests/**.js\" && jest --coverage",
"test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
"build": "ncc build src/main.js",
"precommit": "npm run build && git add dist/"
},
@@ -22,7 +23,7 @@
"dependencies": {
"@actions/core": "^1.0.0",
"@actions/exec": "^1.0.0",
"@actions/github": "^1.0.0"
"@actions/github": "^2.2.0"
},
"devDependencies": {
"@zeit/ncc": "^0.20.4",

View File

@@ -1,5 +1,6 @@
const core = require('@actions/core');
const { GitHub, context } = require('@actions/github');
const fs = require('fs');
async function run() {
try {
@@ -7,17 +8,30 @@ async function run() {
const github = new GitHub(process.env.GITHUB_TOKEN);
// Get owner and repo from context of payload that triggered the action
const { owner, repo } = context.repo;
const { owner: currentOwner, repo: currentRepo } = context.repo;
// Get the inputs from the workflow file: https://github.com/actions/toolkit/tree/master/packages/core#inputsoutputs
const tagName = core.getInput('tag_name', { required: true });
// This removes the 'refs/tags' portion of the string, i.e. from 'refs/tags/v1.10.15' to 'v1.10.15'
const tag = tagName.replace('refs/tags/', '');
const releaseName = core.getInput('release_name', { required: true }).replace('refs/tags/', '');
const releaseName = core.getInput('release_name', { required: false }).replace('refs/tags/', '');
const body = core.getInput('body', { required: false });
const draft = core.getInput('draft', { required: false }) === 'true';
const prerelease = core.getInput('prerelease', { required: false }) === 'true';
const commitish = core.getInput('commitish', { required: false }) || context.sha;
const bodyPath = core.getInput('body_path', { required: false });
const owner = core.getInput('owner', { required: false }) || currentOwner;
const repo = core.getInput('repo', { required: false }) || currentRepo;
let bodyFileContent = null;
if (bodyPath !== '' && !!bodyPath) {
try {
bodyFileContent = fs.readFileSync(bodyPath, { encoding: 'utf8' });
} catch (error) {
core.setFailed(error.message);
}
}
// Create a release
// API Documentation: https://developer.github.com/v3/repos/releases/#create-a-release
@@ -27,9 +41,10 @@ async function run() {
repo,
tag_name: tag,
name: releaseName,
body,
body: bodyFileContent || body,
draft,
prerelease
prerelease,
target_commitish: commitish
});
// Get the ID, html_url, and upload URL for the created Release from the response

View File

@@ -1,8 +1,10 @@
jest.mock('@actions/core');
jest.mock('@actions/github');
jest.mock('fs');
const core = require('@actions/core');
const { GitHub, context } = require('@actions/github');
const fs = require('fs');
const run = require('../src/create-release.js');
/* eslint-disable no-undef */
@@ -22,6 +24,7 @@ describe('Create Release', () => {
owner: 'owner',
repo: 'repo'
};
context.sha = 'sha';
const github = {
repos: {
@@ -50,7 +53,8 @@ describe('Create Release', () => {
name: 'myRelease',
body: 'myBody',
draft: false,
prerelease: false
prerelease: false,
target_commitish: 'sha'
});
});
@@ -72,7 +76,8 @@ describe('Create Release', () => {
name: 'myRelease',
body: 'myBody',
draft: true,
prerelease: false
prerelease: false,
target_commitish: 'sha'
});
});
@@ -94,7 +99,8 @@ describe('Create Release', () => {
name: 'myRelease',
body: 'myBody',
draft: false,
prerelease: true
prerelease: true,
target_commitish: 'sha'
});
});
@@ -116,7 +122,35 @@ describe('Create Release', () => {
name: 'myRelease',
body: '',
draft: false,
prerelease: false
prerelease: false,
target_commitish: 'sha'
});
});
test('Release body based on file', async () => {
core.getInput = jest
.fn()
.mockReturnValueOnce('refs/tags/v1.0.0')
.mockReturnValueOnce('myRelease')
.mockReturnValueOnce('') // <-- The default value for body in action.yml
.mockReturnValueOnce('false')
.mockReturnValueOnce('false')
.mockReturnValueOnce(null)
.mockReturnValueOnce('notes.md');
fs.readFileSync = jest.fn().mockReturnValueOnce('# this is a release\nThe markdown is strong in this one.');
await run();
expect(createRelease).toHaveBeenCalledWith({
owner: 'owner',
repo: 'repo',
tag_name: 'v1.0.0',
name: 'myRelease',
body: '# this is a release\nThe markdown is strong in this one.',
draft: false,
prerelease: false,
target_commitish: 'sha'
});
});