releaset
v0.2.2
Published
Simple CLI to release changelogs. CICD-friendly.
Downloads
36
Maintainers
Readme
Releaset
Releaset is designed to automatically generate changelogs for your repositories by CLI.
Why Releaset?
- Auto Changelogs: Generate changelogs based on git tag and git commit history.
- CICD Friendly: Embed the command in your CICD work flow to update changelogs automatically.
- Pre-release Friendly: Support pre-relase and production publishing.
- Support Publish Note: Update
.releaset/publish_note.jsonmanually set publish note for each version.
Prerequisites
Ensure your project uses semantic versioning for git tags.
Example
Releaset uses this command to generate logs:
npx releaset --projectUrl https://github.com/AlfredChow2338/releaset --title @Releaset --filterCommit ReleaseProject applied pre-release practice and want to publish production logs in CHANGELOG.md:
npx releaset --projectUrl {PROJECT_URL} \
--title {LOG_FILE_TITLE}
--prTag {PR_TAG}Project applied pre-release practice and publish pre-release logs in CHANGELOG_PR.md:
npx releaset --projectUrl {PROJECT_URL} \
--title {LOG_FILE_TITLE}
--prTag {PR_TAG} \
--prInclude tags that contain specific keywords:
npx releaset --projectUrl {PROJECT_URL} \
--title {LOG_FILE_TITLE}
--filterTag {FILTER_TAG}Note: Support version >= 0.1.9 filterTag can be more than one, which has to be separate by commas (eg. tag1,tag2,tag3)
Exclude tags that contain specific keywords:
npx releaset --projectUrl {PROJECT_URL} \
--title {LOG_FILE_TITLE}
--filterOutTag {FILTER_TAG}Note: Support in version >= 0.2.0 filterOutTag can be more than one, which has to be separate by commas (eg. tag1,tag2,tag3)
Output logs to specified directory eg. packages/foo:
npx releaset --projectUrl {PROJECT_URL} \
--title {LOG_FILE_TITLE}
--outDir packages/fooInstallation
No installation is needed. We suggest directly use the npx releaset command for ease.
Pre-release version
The script will create a changelog file:
- Pre-release mode:
CHANGELOG_PR.md - Production mode:
CHANGELOG.md
info.json will also be created to record all releaset information. No change is needed for this configuration file.
Publish note
publish_note.json will be created if arguements ver and note are passed.
You can manually update publish_note.json to list the publish note in each version.
JSON Structure: [TAG]: [PUBLISH_NOTE]
