Deployment with GitHub Actions
To automatically create new versions of your app and generate changelogs using GitHub Actions, follow the steps below. This process uses release-please to detect your semantic commits, open a release pull request, and publish a GitHub release when it's merged.
Set Up GitHub Token
Create a personal GitHub token with repo
scope and add it to your repository secrets as MY_RELEASE_PLEASE_TOKEN
.
Then, go to Settings → Actions → General and set Workflow permissions to Read and write permissions.
The automated release workflow is located at .github/workflows/release.yml
— it runs automatically on main
branch pushes or can be triggered manually.
Make Semantic Commits
Use Conventional Commits to describe your changes. These commits determine how versions are bumped and changelogs are generated.
Examples:
git commit -m "feat: add note search feature"
git commit -m "fix: correct login bug on Android"
Common prefixes:
feat:
— for new featuresfix:
— for bug fixeschore:
— for maintenancedocs:
— for documentation
After pushing your commit, release-please
will create an automated PR proposing the next version and changelog.
Merge the Auto-Generated PR
When you're ready to release, merge the pull request created by release-please
. This can be done via GitHub UI or CLI.
Once merged, it will:
- Create a new release under GitHub → Releases
- Bump the app version (e.g.,
v1.2.0
) - Generate and publish a changelog
The release is triggered only when the PR is merged into main
.
Summary
By using release-please
with GitHub Actions, you streamline your release workflow: no manual
tagging, changelog writing, or version bumping.
Perfect for fast-moving projects and solo devs.
Tips
- Use semantic commit messages to control versioning.
- Add
[skip release]
to your commit message to avoid triggering a release. feat:
andfix:
bump the version;chore:
ordocs:
don’t unless configured.