-
Notifications
You must be signed in to change notification settings - Fork 3
Release checklist
Andreas Pedersen edited this page Sep 19, 2024
·
29 revisions
To release a new version of the code the following should be executed. In the example it is a minor release (1.7.2):
- On
developmentmake a "temporary" branch with new version number (1.7.2) inpyproject.toml-
INSTALLATION.mdfor public homepage to point to released version CHANGELOG.md- Squash merge into branch into
development
- Make a PR for
development->master- merge with Create a merge commit strategy to keep all commits
- Tag commit on
master- Name: should be consistent with version number
vx.y.z(fx.v1.7.2) - Type: Annotated
- Name: should be consistent with version number
- Under
Actionson the GitHub Repo page make sure following pipelines were successful-
macos-windows-buildpipeline was successful -
linux-buildpipeline was successful
-
- Run tests described on: https://github.com/easyScience/EasyReflectometryApp/wiki/Testing-in-Hand
- On GitHub create a new release in hand (SHOULD BE AUTOMATED)
- Under
Releaseson repo main page clickCreate a new release - Click the
Tags - Click on the new tag
- Click
Make release from tag - Click
Generate release notes
- Under
- Add artifacts to the Release
- Download the EasyReflectometry assets
- Extract and use the following naming:
- Windows
EasyReflectometry_Windows_x86-32_<tag>.exe(fx.EasyReflectometry_Windows_x86-32_v1.7.2.exe) - MacOS
EasyReflectometry_macOS_x86-64_<tag>.zip(fx.EasyReflectometry_macOS_x86-64_v1.7.2.zip)
- Windows
- Add the EasyReflectometry assets
- Do release procedure for public webpage https://github.com/easyScience/EasyReflectometryWww/wiki/Release-checklist
Push to any branch triggers:
- A build and publish pipeline
macos-windows-build.yml- Produce artifacts for Windows and Mac-OS
- For
master- Upload offline artifacts to GitHub
- Upload online artifacts to FTP server
- A build and publish pipeline
linux-build.yml- Produce artifact for Linux
- Upload artifact to snapcraft
- For
developmentbranch the artifact goes tobeta - For
masterbranch the artifact is goes tostable
- For
Push to master triggers:
- The dev documentation build pipeline
documentation-build.yml- Produce the sphinx documentation
- Push the produced documentation to
gh-pagesbranch
Inspired by: https://github.com/easyScience/easyDiffractionApp/discussions/247