Release process
Part 1
You need a GITHUB_TOKEN
in your .env
file at the root of the repository. You can generate one from the personal access token page with Repo (Full control of private repositories)
scope.
GITHUB_TOKEN=<YOUR-PERSONAL-ACCESS-TOKEN>
Once setup, you can run
yarn release
It will create a release issue.
Part 2
You need to review the release issue, in two parts:
- version changes
- CHANGELOGs
Any changes applied in the issue will be taken into account by the release process.
Clicking "Approved" to approve the release, and closing it, will trigger the Part 3.
Part 3
The GitHub action release is triggered. It generates clients and push changes to each language repository on their next
branch.
This Part 3 runs conditionally according to what has been done in Part 2. Under "Version Changes" section of the release issue, if a language is checked, this Part 3 will creates a commit like chore: release v<NEXT-VERSION>
in each repository. If it is not checked, it will create a commit like chore: update repo <DATE-STAMP>
.
Each language repository should have their own release process, and should run only when the latest commit starts with chore: release
. By doing so, we have a way to just update the repository, for example READMEs, without having to release.