@limetech/semantic-release-action
v2.3.1
Published
GitHub Action for Semantic Release
Downloads
6
Readme
Semantic Release Action
GitHub Action for Semantic Release.
Usage
Step1: Set any Semantic Release Configuration in your repository.
Step2: Add Secrets in your repository for the Semantic Release Authentication Environment Variables.
Step3: Add a Workflow File to your repository to create custom automated processes.
- inputs:
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.semantic_version
: [Optional] Specify specifying version range for semantic-release. If no version range is specified, latest version will be used by default.extra_plugins
: [Optional] Extra plugins for pre-install. You can also specify specifying version range for the extra plugins if you prefer.dry_run
: [Optional] Whether to run semantic release indry-run
mode. It will override the dryRun attribute in your configuration file.
- outputs:
new_release_published
: Whether a new release was published.true
orfalse
new_release_version
: Version of the new releasenew_release_major_version
: Major version of the new releasenew_release_minor_version
: Minor version of the new releasenew_release_patch_version
: Patch version of the new release
Examples
A simple example
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
Passing Extra Plugins with extra_plugins
The action can be used with extra_plugins
option to specify plugins which are not in the default list of plugins of semantic release. When using this option, please make sure that these plugins are also mentioned in your semantic release config's plugins array. For example, if you want to use @semantic-release/git
and @semantic-release/changelog
extra plugins, these must be added to extra_plugins
in your actions file and plugins
in your release config file as shown bellow:
github-action
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
with:
# You can specify specifying version range for the extra plugins if you prefer.
extra_plugins: |
@semantic-release/[email protected]
@semantic-release/git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
release-config
plugins: [
.
.
+ "@semantic-release/changelog"
+ "@semantic-release/git",
]
Manually Specify a Version of Semantic-release and Its Plugins
It is recommended to manually specify a version of semantic-release and its plugins to prevent errors caused during the official semantic-release upgrade.
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
with:
semantic_version: 15.14.0
extra_plugins: |
@semantic-release/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
Using Output Variables
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
id: semantic # Need an `id` for output variables
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Do something when a new release published
if: steps.semantic.outputs.new_release_published == 'true'
run: echo ${{ steps.semantic.outputs.new_release_version }}