diff --git a/README.md b/README.md index 551b552..f84b3d5 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ GitHub Action for [Semantic Release](https://github.com/semantic-release/semanti #### Step3: Add a [Workflow File](https://help.github.com/en/articles/workflow-syntax-for-github-actions) to your repository to create custom automated processes. * inputs: - * `branch`: [Optional] The branch for release. Default `"master"`. + * `branch`: [Optional] The branch on which releases should happen. It will override the branch attribute in your configuration file. If the attribute is not configured on both sides, the default is master. * `extra_plugins`: [Optional] Extra plugins for pre-install. * `dry_run`: [Optional] Whether to run semantic release in "dry-run" mode. It will override the dryRun attribute in your configuration file. * outputs: diff --git a/action.yml b/action.yml index f5c5489..b7ee63c 100644 --- a/action.yml +++ b/action.yml @@ -6,8 +6,7 @@ branding: color: 'orange' inputs: branch: - description: 'The branch for release' - default: master + description: 'The branch on which releases should happen. It will override the branch attribute in your configuration file. If the attribute is not configured on both sides, the default is master.' extra_plugins: description: 'Extra plugins for pre-install' dry_run: diff --git a/src/handleOptions.js b/src/handleOptions.js index 393c19a..281a03d 100644 --- a/src/handleOptions.js +++ b/src/handleOptions.js @@ -2,7 +2,22 @@ const core = require('@actions/core'); const inputs = require('./inputs.json'); /** - * handleDryRunOption + * Handle Branch Option + * @returns {{}|{branch: string}} + */ +exports.handleBranchOption = () => { + const branchOption = {}; + const branch = core.getInput(inputs.branch); + + if (branch) { + branchOption.branch = branch; + } + + return branchOption; +}; + +/** + * Handle DryRun Option * @returns {{}|{dryRun: boolean}} */ exports.handleDryRunOption = () => { diff --git a/src/index.js b/src/index.js index e1a4b5c..fb87500 100644 --- a/src/index.js +++ b/src/index.js @@ -1,13 +1,11 @@ const core = require('@actions/core'); const semanticRelease = require('semantic-release'); -const {handleDryRunOption} = require('./handleOptions'); +const {handleBranchOption, handleDryRunOption} = require('./handleOptions'); const setUpJob = require('./setUpJob.task'); const preInstallPlugins = require('./preInstallPlugins.task'); const cleanupNpmrc = require('./cleanupNpmrc.task'); const windUpJob = require('./windUpJob.task'); -const inputs = require('./inputs.json'); - /** * Release main task * @returns {Promise} @@ -16,9 +14,8 @@ const release = async () => { await setUpJob(); await preInstallPlugins(); - const branch = core.getInput(inputs.branch) || 'master'; const result = await semanticRelease({ - branch, + ...(handleBranchOption()), ...(handleDryRunOption()), });