From cec8375d0ac00e44484ff25e9fab452bb7b5245a Mon Sep 17 00:00:00 2001 From: dnlcrl Date: Fri, 12 May 2023 09:09:57 +0200 Subject: [PATCH] add check-last-commit-only to check only in last commit --- README.md | 13 +++++++++++++ action.yml | 4 ++++ index.js | 13 +++++++++++++ 3 files changed, 30 insertions(+) diff --git a/README.md b/README.md index 14c2621..4596f3f 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,19 @@ Example: bump-policy: 'ignore' ``` +### **check-only-last-commit** + +Set check-last-commit-only to only read last commit's message (optional). Example: + +```yaml +- name: 'Automated Version Bump' + uses: 'phips28/gh-action-bump-version@master' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + check-last-commit-only: 'true' +``` + #### [DEPRECATED] **push:** **DEPRECATED** Set false you want to avoid pushing the new version tag/package.json. Example: ```yaml diff --git a/action.yml b/action.yml index dee53c2..775160b 100644 --- a/action.yml +++ b/action.yml @@ -70,6 +70,10 @@ inputs: description: 'Set version bump ignore policy' default: 'all' required: false + check-last-commit-only: + description: 'Check only last commit's message' + default: 'false' + required: false push: description: '[DEPRECATED] Set to false to skip pushing the new tag' default: 'true' diff --git a/index.js b/index.js index 6d6cb51..308e1a1 100644 --- a/index.js +++ b/index.js @@ -35,6 +35,19 @@ const pkg = getPackageJson(); const tagSuffix = process.env['INPUT_TAG-SUFFIX'] || ''; console.log('tagPrefix:', tagPrefix); console.log('tagSuffix:', tagSuffix); + + const checkLAstCommitOnly = process.env['INPUT_CHECK-LAST-COMMIT-ONLY'] || 'false'; + + if (checkLAstCommitOnly === 'true') { + console.log('Only checking the last commit...'); + const commit = event.commits ? event.commits[event.commits.length - 1] : null; + const messages = commit ? [commit.message + '\n' + commit.body] : []; + await run(messages, versionType, tagPrefix, tagSuffix, pkg); + } else { + const messages = event.commits ? event.commits.map((commit) => commit.message + '\n' + commit.body) : []; + await run(messages, versionType, tagPrefix, tagSuffix, pkg); + } + const messages = event.commits ? event.commits.map((commit) => commit.message + '\n' + commit.body) : []; const commitMessage = process.env['INPUT_COMMIT-MESSAGE'] || 'ci: version bump to {{version}}';