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:
parent
9a76e06dfe
commit
b356b18b5f
5 changed files with 44 additions and 0 deletions
19
README.md
19
README.md
|
|
@ -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`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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}}
|
||||||
|
|
|
||||||
|
|
@ -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(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue