GitHub Release Skill
Overview
This skill automates the process of creating a new release for a Home Assistant custom component. It finds the manifest.json file, updates the version, commits the change, and then creates a GitHub release using the gh CLI tool.
Semantic Versioning (SemVer)
This project follows Semantic Versioning (SemVer) for releasing versions. SemVer uses a MAJOR.MINOR.PATCH format:
- •MAJOR version when you make incompatible API changes.
- •MINOR version when you add functionality in a backward compatible manner.
- •PATCH version when you make backward compatible bug fixes.
Example: 1.0.0 -> 1.1.0 (new feature), 1.1.0 -> 1.1.1 (bug fix), 1.1.1 -> 2.0.0 (breaking change).
Usage
To use this skill, execute the create-release.sh script from the root of your project with the desired new version number as an argument.
Example:
bash
./scripts/create-release.sh 0.9.1
This will perform the following actions:
- •Find the
manifest.jsonfile in the current directory and its subdirectories. - •Update the
versionfield in the foundmanifest.jsonto0.9.1. - •Stage the
manifest.jsonfile. - •Commit the change with the message
chore(release): 0.9.1. - •Create a GitHub release named
0.9.1with auto-generated release notes usinggh release create "0.9.1" --generate-notes.
Requirements
- •
ghCLI tool must be installed and authenticated. - •The script should be run from the root of the project repository.
- •The script expects to find exactly one
manifest.jsonfile in the project. If zero or more than one are found, the script will exit with an error.
Resources
scripts/
- •
create-release.sh: The main script that performs the release automation.