diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 01d096c..ffe2e5e 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -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" diff --git a/action.yml b/action.yml index 9af8969..09b163b 100644 --- a/action.yml +++ b/action.yml @@ -35,3 +35,6 @@ inputs: description: 'Set a default version bump to use' default: 'patch' required: false +outputs: + newTag: + description: 'The newly created tag' diff --git a/index.js b/index.js index 6943420..39c6e29 100644 --- a/index.js +++ b/index.js @@ -33,23 +33,23 @@ Toolkit.run(async tools => { 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)))) { version = 'major' } else if (messages.some(message => minorWords.some(word => message.includes(word)))) { version = 'minor' } else if (messages.some(message => preReleaseWords.some(word => { - if (message.includes(word)) { - foundWord = word; - return true; - } else { - return false; - } + if (message.includes(word)) { + foundWord = word; + return true; + } else { + 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}`])