mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-09 12:22:40 +01:00
3a0b694d6e
* drop the detached gpg signature as this doesn't seem required anymore by anything; the signed git tag is sufficient to auth the released source * exclude vagrant data from git clean, otherwise this destroys the test environment which is useful during the release process; this does not cause any vagrant artifacts to become part of the release source * drop attaching release artifacts to milestones, as GitLab Releases have made this practice deprecated * add diffoscope command for easier tarball comparison
2.4 KiB
2.4 KiB
Upstream
-
run the full testsuite
vagrant rsync local && \ vagrant ssh -c "build-backupninja.sh && sudo /vagrant/test/test.sh"
-
prepare the environment:
export VERSION=x.y.z
-
update
configure.ac
andCHANGELOG.md
perl -pi -E \ "s{^AC_INIT\(\[backupninja\],\[[0-9.\-rc]+\],}{AC_INIT([backupninja],[$VERSION],}" \ configure.ac RELEASE_DATE=$(LC_ALL=C date '+%Y-%m-%d'); perl -pi -E \ "s{^## \[Unreleased\].*}{## [$VERSION] - $RELEASE_DATE}" \ CHANGELOG.md
-
commit and created signed tag
git commit configure.ac CHANGELOG.md \ -m "Releasing backupninja $VERSION" && \ git clean -fdx -e .vagrant && \ git tag -s "backupninja-$VERSION" \ -m "Releasing backupninja $VERSION" && \ ./autogen.sh && \ ./configure && \ make dist
-
compare the content of the generated tarball with the content of the previous one
diffoscope --text-color=always ../tarballs/backupninja-x.y.z.tar.gz \ backupninja-$VERSION.tar.gz | less -R
-
move the tarball outside of the Git working copy and clean up
mkdir -p ../tarballs && \ mv backupninja-$VERSION.tar.gz ../tarballs/ && \ make distclean && \ git clean -fdx -e .vagrant
Debian
Prepare a new package:
git checkout debian && \
gbp import-orig --upstream-vcs-tag="backupninja-$VERSION" \
../tarballs/backupninja-$VERSION.tar.gz && \
gbp dch --auto && \
dch -e && \
export DEBIAN_VERSION=$(dpkg-parsechangelog -SVersion) && \
git commit debian/changelog \
-m "Releasing backupninja ($DEBIAN_VERSION) to Debian unstable" && \
gbp buildpackage
Install the .deb
and test.
Release
-
push the release to GitLab
git checkout debian && \ gbp buildpackage --git-tag-only --git-sign-tags && \ git push --follow-tags origin \ master:master \ debian:debian \ pristine-tar:pristine-tar \ upstream:upstream
-
create a new GitLab release
-
announce the release on the backupninja mailing-list, pointing to the milestone web page
-
upload to Debian or ask someone listed in the
Uploaders
control field to review and upload
Open the next development cycle
-
git checkout master
-
Add an empty new section in
CHANGELOG.md
, commit and push.