5
0
Fork 0
mirror of https://github.com/cycjimmy/semantic-release-action.git synced 2025-11-07 10:46:56 +00:00

feat: add ci input parameter

This commit is contained in:
Aram Becker 2023-03-06 13:09:48 +01:00
parent 9a76e06dfe
commit b356b18b5f
5 changed files with 44 additions and 0 deletions

View file

@ -50,6 +50,7 @@ then make sure that you configure this in your `package.json` file:
| branch | false | The branch on which releases should happen.[[Details](#branch)]<br>Only support for **semantic-release older than v16**. | | branch | false | The branch on which releases should happen.[[Details](#branch)]<br>Only support for **semantic-release older than v16**. |
| extra_plugins | false | Extra plugins for pre-install. [[Details](#extra_plugins)] | | extra_plugins | false | Extra plugins for pre-install. [[Details](#extra_plugins)] |
| dry_run | false | Whether to run semantic release in `dry-run` mode. [[Details](#dry_run)] | | dry_run | false | Whether to run semantic release in `dry-run` mode. [[Details](#dry_run)] |
| ci | false | Whether to run semantic release with CI support. [[Details](#ci)]<br>Support for **semantic-release above v16**. |
| extends | false | Use a sharable configuration [[Details](#extends)] | | extends | false | Use a sharable configuration [[Details](#extends)] |
| working_directory | false | Use another working directory for semantic release [[Details](#working_directory)] | | working_directory | false | Use another working directory for semantic release [[Details](#working_directory)] |
@ -192,6 +193,24 @@ steps:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
``` ```
#### ci
> {Optional Input Parameter} Whether to run semantic release with CI support (default true).<br>`ci` supports for **semantic-release above v16**.
```yaml
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v3
with:
ci: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
```
`ci` can be used, e.g in combination with `dry_run` when generating the next release version in pull requests, where `semantic_release` would normally block the execution.
#### extends #### extends
The action can be used with `extends` option to extend an existing [sharable configuration](https://semantic-release.gitbook.io/semantic-release/usage/shareable-configurations) of semantic-release. Can be used in combination with `extra_plugins`. The action can be used with `extends` option to extend an existing [sharable configuration](https://semantic-release.gitbook.io/semantic-release/usage/shareable-configurations) of semantic-release. Can be used in combination with `extra_plugins`.

View file

@ -20,6 +20,9 @@ inputs:
dry_run: dry_run:
required: false required: false
description: 'Whether to run semantic release in `dry-run` mode. It will override the dryRun attribute in your configuration file' description: 'Whether to run semantic release in `dry-run` mode. It will override the dryRun attribute in your configuration file'
ci:
required: false
description: 'Whether to run semantic release with CI support (default: true). It will override the ci attribute in your configuration file'
extends: extends:
required: false required: false
description: 'One or several sharable configurations, https://semantic-release.gitbook.io/semantic-release/usage/configuration#extends' description: 'One or several sharable configurations, https://semantic-release.gitbook.io/semantic-release/usage/configuration#extends'

View file

@ -60,6 +60,25 @@ exports.handleDryRunOption = () => {
} }
}; };
/**
* Handle Ci Option
* @returns {{}|{ci: boolean}}
*/
exports.handleCiOption = () => {
const ci = core.getInput(inputs.ci);
switch (ci) {
case 'true':
return { ci: true, noCi: false };
case 'false':
return { ci: false, noCi: true };
default:
return {};
}
};
/** /**
* Handle Extends Option * Handle Extends Option
* @returns {{}|{extends: Array}|{extends: String}} * @returns {{}|{extends: Array}|{extends: String}}

View file

@ -2,6 +2,7 @@ const core = require('@actions/core');
const { const {
handleBranchesOption, handleBranchesOption,
handleDryRunOption, handleDryRunOption,
handleCiOption,
handleExtends, handleExtends,
} = require('./handleOptions'); } = require('./handleOptions');
const setUpJob = require('./setUpJob.task'); const setUpJob = require('./setUpJob.task');
@ -28,6 +29,7 @@ const release = async () => {
const result = await semanticRelease({ const result = await semanticRelease({
...handleBranchesOption(), ...handleBranchesOption(),
...handleDryRunOption(), ...handleDryRunOption(),
...handleCiOption(),
...handleExtends(), ...handleExtends(),
}); });

View file

@ -4,6 +4,7 @@
"branch": "branch", "branch": "branch",
"extra_plugins": "extra_plugins", "extra_plugins": "extra_plugins",
"dry_run": "dry_run", "dry_run": "dry_run",
"ci": "ci",
"extends": "extends", "extends": "extends",
"working_directory": "working_directory" "working_directory": "working_directory"
} }