Build new release with version: X.Y.Z.F
.
Note: X
, Y
, Z
and F
should be digits.
- Build
pre-release
. - Notify Namecheap Local-IT team that pre-release is ready for testing.
- Wait for testing by CS-Testing group (Local-IT team will notify maintainer).
- Publish
release
if no critical issues found. - Skip release and fix issues if some critical issues found.
git clone [email protected]:namecheap/flameshot.git
git checkout -b release/vX.Y.Z.F
Update version in the file ./CMakeLists.txt
:
set(FLAMESHOT_VERSION X.Y.Z.F)
Update version in the file ./packaging/rpm/flameshot.spec
:
Version: X.Y.Z.F
git commit -am "Release vX.Y.X.F"
git tag vX.Y.Z.F
git push origin -u release/vX.Y.Z.F --tags
Open Flameshot on the GitHub: https://github.com/namecheap/flameshot/pulls
Choose release branch release/vX.Y.Z.F
and create pull request to the master
branch of the Namecheap Flameshot repository (not to the upstream).
Check for a successful build at GitHub actions: https://github.com/namecheap/flameshot/actions) Usually it takes around 30 minutes, sometimes it may take longer.
Merge release/vX.Y.Z.F
to the master
on success.
Note: Check the log if there'll be some fails. Sometimes some third-party resources are not available (download issues), just re-run the job.
Create release on the GitHub for the required version: https://github.com/namecheap/flameshot/releases
Find release vX.Y.Z.F
and click on it and then click on Edit tag
.
Note: do not forget to set pre-release
flag.
Currently, CI/CD is not completely finished and still requires some manual actions.
- Download binary packages for all platforms for the latest release in the GitHub actions:
- Windows,
download
VS 2019 x86-installer
(win32) andVS 2019 x64-installer
(win64) files. You can find download link in theUpload Windows installer(daily build)
section. - MacOS,
you can find download link in the
Upload dmg package
section. - Linux,
you can find download link in the
Upload <distro name> package (daily build)
for each distributive.
- Windows,
download
- Upload all downloaded files from
GitHub actions
to the new release on the GitHub (use link from the previous section).
Generate release notes based on git log history
git log --pretty=oneline `git tag --sort=-committerdate | head -1`...`git tag --sort=-committerdate | head -2 | tail -1` |cut -d " " -f 2- |grep -v "Merge pull request" | sed 's/^/- /'
Copy output to the clipboard and paste on the release page. Remove not significant lines and duplicates like a few translations fixes during one release etc.
Set pre-release
flag on the release page and press save.
- Open release page
- Press edit button
- Uncheck pre-release flag
- Press save