-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
1 changed file
with
50 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,63 +1,73 @@ | ||
General rules | ||
============= | ||
# General rules | ||
|
||
* HALE releases should always be done on the *release* branch | ||
* Release specific changes (e.g. excluded features) should not be merged into the *master* branch (only merge from *master* into *release*, not vice versa) | ||
- hale»studio releases should always be done on the _release_ branch | ||
- Release specific changes (e.g. excluded features) should not be merged into the _master_ branch (only merge from _master_ into _release_, not vice versa) | ||
|
||
Before proceeding with the release steps | ||
======================================== | ||
# Before proceeding with the release steps | ||
|
||
Create a new branch from the master: | ||
Create a new branch from master and apply the following changes: | ||
|
||
1. Create a PR to update the [CHANGELOG.md](https://github.com/halestudio/hale/blob/master/CHANGELOG.md#change-log) | ||
2. Create a PR to update [what's new page](https://github.com/halestudio/hale/tree/master/doc/plugins/eu.esdihumboldt.hale.doc.user/html/new) by creating a new `<release-tag>.xhtml` page. | ||
3. Once the PRs are merged to the master, update the [Infocenter container](https://github.com/halestudio/hale/blob/fb07374fdd4e5078ccbc2074fd8a13bd48982e58/doc/plugins/eu.esdihumboldt.hale.doc.user/toc.xml#L17), so that [what's new page in the documentation](http://help.halestudio.org/latest/index.jsp?topic=%2Feu.esdihumboldt.hale.doc.user%2Fhtml%2Fnew%2F4_1_0.xhtml&cp%3D0_1_0) is updated to show the latest release information. Then proceed with the steps for a HALE release. | ||
1. check if there is a need to change the [splash year in the copyright notice](https://github.com/halestudio/hale/blob/master/ui/plugins/eu.esdihumboldt.hale.ui.application/plugin.xml#L103) | ||
2. update the [CHANGELOG.md](https://github.com/halestudio/hale/blob/master/CHANGELOG.md#change-log) | ||
3. update the [what's new page](https://github.com/halestudio/hale/tree/master/doc/plugins/eu.esdihumboldt.hale.doc.user/html/new) by creating a new `<release-tag>.xhtml` page. | ||
4. update the [Infocenter container](https://github.com/halestudio/hale/blob/fb07374fdd4e5078ccbc2074fd8a13bd48982e58/doc/plugins/eu.esdihumboldt.hale.doc.user/toc.xml#L17), so that the [what's new page in the documentation]http://help.halestudio.org/latest/index.jsp?topic=%2Feu.esdihumboldt.hale.doc.user%2Fhtml%2Fnew%2F5_1_0.xhtml) is updated to show the latest release information. | ||
|
||
Steps for a HALE release | ||
======================== | ||
and then create a PR to master containing the changes. | ||
|
||
On release branch: | ||
Then proceed with the steps for a hale»studio release. | ||
|
||
1. Merge origin/master into release | ||
2. Set the release version for application bundles and build | ||
`./updateversionnumbers.groovy --release <RELEASE-VERSION>` | ||
3. Create a commit | ||
4. Create a tag for the new release | ||
5. Push to origin/release and push tags | ||
# Release Process Steps: | ||
|
||
On master branch: | ||
0. Refresh your forked repository | ||
|
||
1. Set new snapshot version for bundles and features | ||
`./updateversionnumbers.groovy -o <RELEASE-VERSION> -n <NEW-VERSION>` | ||
2. Set new snapshot version for application | ||
`./updateversionnumbers.groovy --snapshot <NEW-VERSION>` | ||
Steps for Merging into the `release` branch: | ||
|
||
Example | ||
======= | ||
1. Create new branch: Begin by creating a new branch, such as `release_new_version`, branching off from `release`. | ||
2. Merge changes: Merge changes from `origin/master` into the release branch and commit the updates. | ||
3. Update version numbers: Execute the `./updateversionnumbers.groovy` script to set the release version for application bundles and configure the necessary build settings. Use the command: `./updateversionnumbers.groovy --release <RELEASE-VERSION>`. | ||
4. Commit changes: Commit the version number updates and all the commits resulting from the merge. | ||
5. Tag the Release: Create a tag to signify the new release version. | ||
6. Push Changes: Push the `release_new_version` branch and tags to the remote repository. | ||
7. Create Pull Request: Start a pull request (PR) from the `release_new_version` branch to merge the changes into the `release` branch. | ||
|
||
On release branch: | ||
Steps for merging into the `master` branch: | ||
|
||
1. Create new branch: Start by creating a new branch (e.g., `master_update_version`) from the `master` branch. | ||
2. Set new snapshot version for bundles and features: Use the `./updateversionnumbers.groovy` script to set a new snapshot version for bundles and features with the command: `./updateversionnumbers.groovy -o <RELEASE-VERSION> -n <NEW-VERSION>`. | ||
3. Set new snapshot version for application: Set a new snapshot version for the application using the command: `./updateversionnumbers.groovy --snapshot <NEW-VERSION>`. | ||
4. Push changes: Push the `master_update_version` branch to the remote repository. | ||
5. Create pull request: Initiate a pull request (PR) from the `master_update_version` branch to merge the changes into the `master` branch. | ||
|
||
# Example | ||
|
||
Steps that will be merged into the release branch: | ||
|
||
``` | ||
git merge origin/master | ||
./updateversionnumbers.groovy --release 2.9.0 | ||
./updateversionnumbers.groovy --release 5.1.0 | ||
git add -A | ||
git commit -m "Updated application versions for 2.9.0 release" | ||
git tag 2.9.0 | ||
git commit -m "build: update application versions for 5.1.0 release" | ||
git tag 5.1.0 | ||
git push origin release | ||
git push --tags | ||
``` | ||
|
||
On master branch: | ||
Steps that will be merged into the master branch: | ||
|
||
``` | ||
./updateversionnumbers.groovy -o 2.9.0 -n 3.0.0 | ||
./updateversionnumbers.groovy --snapshot 3.0.0 | ||
./updateversionnumbers.groovy -o 5.2.0 -n 5.3.0 | ||
./updateversionnumbers.groovy --snapshot 5.3.0 | ||
``` | ||
|
||
After the release | ||
================= | ||
1. Create Windows installer. | ||
Prerequisites: install Wix Toolset v.3.11 [available here](https://github.com/wixtoolset/wix3/releases/tag/wix3112rtm) | ||
Then run `build.bat product -o windows -a x86_64 HALE` from the root directory. | ||
2. Draft a new release for the latest release at https://github.com/halestudio/hale/releases and publish it. | ||
3. Update [download page](https://github.com/wetransform/www.wetransform.to/blob/deploy/app/downloads/index.html) so that the latest builds are available for download from https://www.wetransform.to/downloads/ | ||
# After the release | ||
|
||
1. Create Windows installer: | ||
- Prerequisites: install Wix Toolset v.3.11 [available here](https://github.com/wixtoolset/wix3/releases/tag/wix3112rtm) | ||
- While on the release branch, execute `build.bat product -o windows -a x86_64 HALE` from the root directory. | ||
2. Drafting a New Release on GitHub: | ||
- Gather the files generated in Jenkins from the latest successful build of the release branch. | ||
- Utilize these files to draft the release on the [hale»studio GitHub repository](https://github.com/halestudio/hale/releases), including the .msi file generated in step 1. | ||
3. Update Infocenter (more details will come from Kapil) | ||
4. Update the download page: | ||
- Make necessary updates to the [download page](https://github.com/wetransform/www.wetransform.to/blob/deploy/app/downloads/index.html) | ||
- Ensure that the latest builds are accessible for download from https://www.wetransform.to/downloads/ |