Merge branch 'master' into fix-owner

This commit is contained in:
Corey Butler 2019-12-29 13:26:23 -06:00 committed by GitHub
commit 077391c9df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 23 deletions

2
.github/FUNDING.yml vendored
View File

@ -1,6 +1,6 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: coreybutler
patreon: coreybutler
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username

View File

@ -4,12 +4,12 @@ This action will read a `package.json` file and compare the `version` attribute
## Usage
The following is an example `.github/main.workflow` that will execute when a `push` to the `master` branch occurs.
The following is an example `.github/main.workflow` that will execute when a `push` to the `master` branch occurs.
```yaml
name: My Workflow
on:
on:
push:
branches:
- master
@ -52,43 +52,43 @@ The action will automatically extract the token at runtime. **DO NOT MANUALLY EN
There are several options to customize how the tag is created.
1. `package_root`
By default, autotag will look for the `package.json` file in the project root. If the file is located in a subdirectory, this option can be used to point to the correct file.
```yaml
- uses: butlerlogic/action-autotag@1.0.0
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
package_root: "/path/to/subdirectory"
```
1. `tag_prefx`
By default, `package.json` uses [semantic versioning](https://semver.org/), such as `1.0.0`. A prefix can be used to add text before the tag name. For example, if `tag_prefx` is set to `v`, then the tag would be labeled as `v1.0.0`.
```yaml
- uses: butlerlogic/action-autotag@1.0.0
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
tag_prefx: "v"
```
1. `tag_suffix`
Text can also be applied to the end of the tag by setting `tag_suffix`. For example, if `tag_suffix` is ` (beta)`, the tag would be `1.0.0 (beta)`. Please note this example violates semantic versioning and is merely here to illustrate how to add text to the end of a tag name if you _really_ want to.
```yaml
- uses: butlerlogic/action-autotag@1.0.0
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
tag_suffix: " (beta)"
```
1. `tag_message`
This is the annotated commit message associated with the tag. By default, a
changelog will be generated from the commits between the latest tag and the new tag (HEAD). Setting this option will override it witha custom message.
```yaml
- uses: butlerlogic/action-autotag@1.0.0
with:
@ -96,6 +96,18 @@ There are several options to customize how the tag is created.
tag_message: "Custom message goes here."
```
1. `version`
Explicitly set the version instead of automatically detecting from `package.json`.
Useful for non-JavaScript projects where version may be output by a previous action.
```yaml
- uses: butlerlogic/action-autotag@1.0.0
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
version: "${{ steps.previous_step.outputs.version }}"
```
## Developer Notes
If you are building an action that runs after this one, be aware this action produces several [outputs](https://help.github.com/en/articles/metadata-syntax-for-github-actions#outputs):

View File

@ -1,9 +1,9 @@
name: 'Autotagger'
description: 'Automatically generate new tags when the package.json version changes.'
author: 'ButlerLogic'
name: "Autotagger"
description: "Automatically generate new tags when the package.json version changes."
author: "ButlerLogic"
branding:
icon: 'tag'
color: 'black'
icon: "tag"
color: "black"
inputs:
package_root:
description: Autotag will look for the package.json file in in this location.
@ -18,6 +18,9 @@ inputs:
tag_message:
description: This is the annotated commit message associated with the tag. By default, a changelog will be generated from the commits between the latest tag and the new tag (HEAD). This will override that with a hard-coded message.
required: false
version:
description: Explicitly set the version here instead of automatically detecting from `package.json`. Useful for non-JavaScript projects where version may be output by a previous action.
required: false
outputs:
tagname:
description: Returns the new tag value. Empty if a tag is not created.
@ -28,7 +31,7 @@ outputs:
tagmessage:
description: The messge applied to the tag reference (this is what shows up on the tag screen on Github).
version:
description: The version, as defined in package.json.
description: The version, as defined in package.json or explicitly set in the input.
runs:
using: 'node12'
main: 'lib/main.js'
using: "node12"
main: "lib/main.js"

View File

@ -33,6 +33,35 @@ async function run() {
core.setOutput('version', pkg.version)
core.debug(` Detected version ${pkg.version}`)
// core.debug(` Available environment variables:\n -> ${Object.keys(process.env).map(i => i + ' :: ' + process.env[i]).join('\n -> ')}`)
// let version = ""
// if (!process.env.hasOwnProperty('INPUT_VERSION') || process.env.INPUT_VERSION.trim().length === 0) {
// let dir = fs.readdirSync(path.resolve(process.env.GITHUB_WORKSPACE), { withFileTypes: true }).map(entry => {
// return `${entry.isDirectory() ? '> ' : ' - '}${entry.name}`
// }).join('\n')
// core.debug(` Working Directory: ${process.env.GITHUB_WORKSPACE}:\n${dir}`)
// const pkg_root = core.getInput('package_root', { required: false })
// let pkgfile = path.join(process.env.GITHUB_WORKSPACE, pkg_root, 'package.json')
// if (!fs.existsSync(pkgfile)) {
// core.setFailed('package.json does not exist.')
// return
// }
// let pkg = require(pkgfile)
// version = pkg.version
// } else {
// version = process.env.INPUT_VERSION.trim()
// }
// core.setOutput('version', version)
// core.debug(` Detected version ${version}`)
if (!process.env.hasOwnProperty('INPUT_GITHUB_TOKEN') || process.env.INPUT_GITHUB_TOKEN.trim().length === 0) {
core.setFailed('Invalid or missing GITHUB_TOKEN.')
return

View File

@ -16,7 +16,6 @@
"node",
"setup"
],
"type": "module",
"author": "ButlerLogic",
"license": "MIT",
"dependencies": {