mirror of
https://github.com/cycjimmy/semantic-release-action.git
synced 2025-11-07 10:46:56 +00:00
3.2 KiB
3.2 KiB
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, semantic-release@^15 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-runmode. It will override the dryRun attribute in your configuration file.
- outputs:
new_release_published: Whether a new release was published.trueorfalsenew_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
A simple example
steps:
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
An advanced example
steps:
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
id: semantic # Need an `id` for output variables
with:
branch: master
semantic_version: 15.13.28
# You can specify specifying version range for the extra plugins if you prefer.
extra_plugins: |
@semantic-release/git
@semantic-release/changelog@3.0.0
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: ...