2022-02-10 19:16:33 +03:00
|
|
|
# Releasing Process
|
|
|
|
|
2022-11-10 18:17:29 +03:00
|
|
|
We always have to start with current version x.y.0-snapshot (in all Cargo.toml).
|
2022-02-10 19:16:33 +03:00
|
|
|
|
|
|
|
## CHANGELOG
|
|
|
|
|
2023-05-04 14:41:51 +03:00
|
|
|
- Add Enhancement or Bug label to the issue
|
2022-11-10 18:17:29 +03:00
|
|
|
- Add target milestone to the issue
|
|
|
|
- Use a well formatted description on PR (starts with a verb)
|
|
|
|
- Add link(s) to the issue
|
|
|
|
|
|
|
|
## Release steps
|
|
|
|
|
2023-06-02 12:32:34 +03:00
|
|
|
Used to publish a new release from master branch (normal process).
|
|
|
|
|
|
|
|
- Run `release.yml` workflow on `master` branch
|
|
|
|
- Fill `Desired delivery version` input with the `x.y.z` version you want to publish, it will:
|
2022-11-10 18:17:29 +03:00
|
|
|
- Clean pending release
|
|
|
|
- Create new `release/x.y.0` branch
|
|
|
|
- Checkout this new branch
|
2023-05-04 15:46:14 +03:00
|
|
|
- Update all toml, crates, man and docs with `x.y.0`
|
2022-11-10 18:17:29 +03:00
|
|
|
- Generate CHANGELOG
|
|
|
|
- Commit all updates
|
|
|
|
- Create the `x.y.0` tag
|
2023-05-04 14:41:51 +03:00
|
|
|
- Create draft GitHub release `x.y.0`
|
2022-11-10 18:17:29 +03:00
|
|
|
- Create PR from `release/x.y.0` to `master`
|
2023-06-02 12:32:34 +03:00
|
|
|
- Publish the draft release
|
|
|
|
- Change the release status from draft to public on github
|
2023-05-04 15:46:14 +03:00
|
|
|
- Accept the PR from `release/x.y.0` to `master` with `/accept`
|
2024-04-24 12:41:45 +03:00
|
|
|
- Run `extra-package.yml` workflow on `master` branch filling in the `desired tag version` and selecting wanted extra packages
|
2023-05-04 15:46:14 +03:00
|
|
|
- Run `update-branch-version.yml` workflow on `master` branch, filling in the `desired SNAPSHOT version`, it will:
|
|
|
|
- Create `bot/update-branch-version-master` branch
|
|
|
|
- Checkout this new branch
|
|
|
|
- Update all toml, crates, and man with `desired SNAPSHOT version`
|
|
|
|
- Commit all updates
|
|
|
|
- Create PR from `bot/update-branch-version-master` to `master`
|
|
|
|
- Accept the PR from `bot/update-branch-version-master` to `master` with `/accept`
|
2022-11-10 18:17:29 +03:00
|
|
|
|
|
|
|
## Hotfix steps
|
|
|
|
|
2023-06-02 12:32:34 +03:00
|
|
|
Used when you want to deliver a fix from a published release (tag).
|
|
|
|
|
|
|
|
- Create a new branch `release/x.y.z` from desired tag `x.y.z` by increasing the patch version, for example `release/4.0.1` from tag `4.0.0`
|
|
|
|
- Run `release.yml` workflow on existing `release/x.y.z` branch
|
|
|
|
- Fill `Desired delivery version` input your `x.y.z` version, it will:
|
2022-11-10 18:17:29 +03:00
|
|
|
- Clean pending release
|
2023-06-01 17:43:47 +03:00
|
|
|
- Checkout this new branch
|
|
|
|
- Update all toml, crates, man and docs with `x.y.z`
|
2022-11-10 18:17:29 +03:00
|
|
|
- Generate CHANGELOG
|
|
|
|
- Commit all updates
|
|
|
|
- Create the `x.y.z` tag
|
2023-06-02 12:32:34 +03:00
|
|
|
- Create draft GitHub release `x.y.z`
|
2022-11-10 18:17:29 +03:00
|
|
|
- Create PR from `release/x.y.z` to `master`
|
2023-06-02 12:32:34 +03:00
|
|
|
- Publish the draft release
|
|
|
|
- Change the release status from draft to public on github
|
|
|
|
- Close the PR from `release/x.y.z` to `master` and manage it manually rebasing commits to reorder history and keep it linear
|
2022-09-15 14:52:14 +03:00
|
|
|
|
|
|
|
## Additional
|
|
|
|
|
2023-06-02 12:32:34 +03:00
|
|
|
- Push package to [Chocolatey](https://github.com/Orange-OpenSource/hurl/tree/master/contrib/windows/windows_package_managers/chocolatey)
|
|
|
|
- Push package to [Winget](https://github.com/Orange-OpenSource/hurl/tree/master/contrib/windows/windows_package_managers/winget)
|
|
|
|
- Push package to [Docker](contrib/docker)
|
|
|
|
- Push package to [Brew](https://github.com/Orange-OpenSource/hurl/tree/master/contrib/brew)
|
2023-05-04 14:41:51 +03:00
|
|
|
- Push source packages to crates.io
|
2022-09-15 14:52:14 +03:00
|
|
|
|