-
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
development
make a "temporary" branch with new version number (1.7.2
) inpyproject.toml
-
INSTALLATION.md
for 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
Actions
on the GitHub Repo page make sure following pipelines were successful-
macos-windows-build
pipeline was successful -
linux-build
pipeline 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
Releases
on 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
development
branch the artifact goes tobeta
- For
master
branch 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-pages
branch
Inspired by: https://github.com/easyScience/easyDiffractionApp/discussions/247