2023-04-20 19:27:52 +03:00
|
|
|
## AFFiNE Release Process
|
|
|
|
|
2023-05-26 11:12:53 +03:00
|
|
|
> In order to make a stable/beta release, you need to get authorization from the AFFiNE test team.
|
|
|
|
|
2023-04-20 19:27:52 +03:00
|
|
|
## Who can make a release?
|
|
|
|
|
|
|
|
The AFFiNE core team gives release authorization. And also have the following requirements.
|
|
|
|
|
|
|
|
- Have commit access to the AFFiNE repository.
|
|
|
|
- Have access to GitHub Actions.
|
|
|
|
|
|
|
|
## How to make a release?
|
|
|
|
|
2023-11-15 10:46:50 +03:00
|
|
|
Before releasing, ensure you have the latest version of the `canary` branch.
|
2023-04-20 19:27:52 +03:00
|
|
|
|
|
|
|
And Read the semver specification to understand how to version your release. https://semver.org
|
|
|
|
|
2023-04-20 19:32:17 +03:00
|
|
|
### 1. Update the version in `package.json`
|
2023-04-20 19:27:52 +03:00
|
|
|
|
|
|
|
```shell
|
2023-04-28 00:53:20 +03:00
|
|
|
./scripts/set-version.sh 0.5.4-canary.5
|
2023-04-20 19:27:52 +03:00
|
|
|
```
|
|
|
|
|
2023-11-15 10:46:50 +03:00
|
|
|
### 2. Commit changes and push to `canary`
|
2023-04-20 19:27:52 +03:00
|
|
|
|
2023-08-08 10:25:56 +03:00
|
|
|
```shell
|
2023-04-20 19:27:52 +03:00
|
|
|
git add .
|
|
|
|
# vx.y.z-canary.n
|
|
|
|
git commit -m "v0.5.4-canary.5"
|
2023-11-15 10:46:50 +03:00
|
|
|
git push origin canary
|
2023-04-20 19:27:52 +03:00
|
|
|
```
|
|
|
|
|
|
|
|
### 3. Create a release action
|
|
|
|
|
2023-04-20 19:32:17 +03:00
|
|
|
Create a release action in the [Release Desktop App](https://github.com/toeverything/AFFiNE/actions/workflows/release-desktop-app.yml).
|
2023-04-20 19:27:52 +03:00
|
|
|
|
|
|
|
![img.png](assets/release-action.png)
|
|
|
|
|
2023-04-20 19:32:17 +03:00
|
|
|
Select the correct branch and fill out the form, then click `Run workflow`.
|
2023-04-20 19:27:52 +03:00
|
|
|
|
|
|
|
### 4. Publish the release
|
|
|
|
|
|
|
|
After the release action is completed, you can see the draft release on the [release page](https://github.com/toeverything/AFFiNE/releases).
|
|
|
|
|
|
|
|
You can edit the release note and publish it.
|
|
|
|
|
2023-04-20 19:32:17 +03:00
|
|
|
Remember that the release tag and title should be the same as the version in `package.json`.
|
2023-04-20 19:27:52 +03:00
|
|
|
|
|
|
|
And target the release to that commit you just pushed.
|