Skip to content

Releasing

Luca Weiss edited this page Oct 13, 2023 · 14 revisions

These are my personal notes on publishing a new release

See libopenrazer Releasing page first, half of the steps can be done at the same time though.

set ver 1.0.0
  • Bump minimum version of libopenrazer
  • Bump the version in meson.build - version
  • Bump the version in data/Info.plist - CFBundleShortVersionString
  • Write a good changelog.
  • Put the changelog into data/xyz.z3ntu.razergenie.appdata.xml
  • Commit these changes
git add -u
git commit -m "Release version $ver"
  • Tag the release
git tag -s v$ver -m "$ver"
  • Create a source archive
git archive v$ver --prefix=RazerGenie-$ver/ | xz > RazerGenie-$ver.tar.xz
  • Sign the release
gpg --armor --detach-sign RazerGenie-$ver.tar.xz
gpg --verify RazerGenie-$ver.tar.xz.asc
  • Push git
git push --follow-tags
  • Upload RazerGenie-$ver.tar.xz and RazerGenie-$ver.tar.xz.asc to GitHub releases.
  • Update Arch Linux (AUR)
  • Update Alpine Linux
  • Update Flathub
# edit xyz.z3ntu.razergenie.json url & sha256
flatpak-builder --user --install --force-clean build-dir xyz.z3ntu.razergenie.json
flatpak run xyz.z3ntu.razergenie//master
# push to new branch, open PR to master, wait for test build, merge to master
cd ~/dev/packaging/
  • Update the spec file (Version: $ver)
cd razergenie/
sed -i 's/Version: .*$/Version: '$ver'/' razergenie.spec
  • Update debian packaging:
podman run --rm -it -v $PWD:/data debian:latest
apt update && apt -y install devscripts neovim
cd /data
export DEBEMAIL=luca@z3ntu.xyz; export DEBFULLNAME="Luca Weiss"
dch -v $ver-0
# Use "New upstream release" as changelog
dch -r stable
mkdir -p tmp/tmp
cd tmp/tmp
curl -L https://github.com/z3ntu/RazerGenie/releases/download/v$ver/RazerGenie-$ver.tar.xz -o ../razergenie_$ver.orig.tar.xz
cp -r ../../debian .
debuild -us -uc -S -d
cd ../..
  • Copy artifacts to OBS repo
cp razergenie.spec tmp/razergenie_$ver-0.dsc tmp/razergenie_$ver.orig.tar.xz tmp/razergenie_$ver-0.debian.tar.xz ~/dev/open-build-service/hardware:razer/razergenie/
  • Finalize OBS
rm _service*
# Delete old Debian files from previous release
rm razergenie_$oldver*
osc add https://github.com/z3ntu/RazerGenie/releases/download/v$ver/RazerGenie-$ver.tar.xz
rm _service:*
osc addremove
Clone this wiki locally