Merge pull request #63 from phips28/add-output-tag

add-output-tag
This commit is contained in:
Phil 2020-11-16 20:26:38 +01:00 committed by GitHub
commit 172d43f157
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 14 deletions

View File

@ -22,6 +22,7 @@ jobs:
with:
node-version: 12
- name: "Automated Version Bump"
id: version-bump
uses: "phips28/gh-action-bump-version@master"
with:
tag-prefix: ''
@ -29,3 +30,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "cat package.json"
run: cat ./package.json
- name: 'Output Step'
env:
NEW_TAG: ${{ steps.version-bump.outputs.newTag }}
run: echo "new tag $NEW_TAG"

View File

@ -35,3 +35,6 @@ inputs:
description: 'Set a default version bump to use'
default: 'patch'
required: false
outputs:
newTag:
description: 'The newly created tag'

View File

@ -19,7 +19,7 @@ Toolkit.run(async tools => {
const messages = event.commits ? event.commits.map(commit => commit.message + '\n' + commit.body) : []
const commitMessage = 'version bump to'
console.log('messages:', messages);
console.log('messages:', messages)
const isVersionBump = messages.map(message => message.toLowerCase().includes(commitMessage)).includes(true)
if (isVersionBump) {
tools.exit.success('No action necessary!')
@ -31,8 +31,8 @@ Toolkit.run(async tools => {
const patchWords = process.env['INPUT_PATCH-WORDING'].split(',')
const preReleaseWords = process.env['INPUT_RC-WORDING'].split(',')
let version = process.env['INPUT_DEFAULT'] || 'patch'
let foundWord = null;
let version = process.env.INPUT_DEFAULT || 'patch'
let foundWord = null
if (messages.some(
message => /^([a-zA-Z]+)(\(.+\))?(\!)\:/.test(message) || majorWords.some(word => message.includes(word)))) {
@ -41,15 +41,15 @@ Toolkit.run(async tools => {
version = 'minor'
} else if (messages.some(message => preReleaseWords.some(word => {
if (message.includes(word)) {
foundWord = word;
return true;
foundWord = word
return true
} else {
return false;
return false
}
}
))) {
const preid = foundWord.split("-")[1];
version = `prerelease --preid=${preid}`;
const preid = foundWord.split('-')[1]
version = `prerelease --preid=${preid}`
} else if (patchWords && Array.isArray(patchWords)) {
if (!messages.some(message => patchWords.some(word => message.includes(word)))) {
version = null
@ -97,6 +97,7 @@ Toolkit.run(async tools => {
newVersion = execSync(`npm version --git-tag-version=false ${version}`).toString().trim()
newVersion = `${process.env['INPUT_TAG-PREFIX']}${newVersion}`
console.log('new version:', newVersion)
console.log(`::set-output name=newTag::${newVersion}`)
try {
// to support "actions/checkout@v1"
await tools.runInWorkspace('git', ['commit', '-a', '-m', `ci: ${commitMessage} ${newVersion}`])