Skip to content
Snippets Groups Projects
Commit 8f29e112 authored by intrigeri's avatar intrigeri
Browse files

Automate and document more of the release process.

parent 03ecc73a
Branches
No related tags found
No related merge requests found
Upstream Upstream
======== ========
* update version in `configure.in` * prepare the environment:
* update first line of `ChangeLog` export VERSION=x.y.z
* commit: * update `configure.in` and `ChangeLog`
git commit configure.in ChangeLog \ perl -pi -E \
-m "Releasing backupninja $VERSION" "s{^AC_INIT\(\[backupninja\],\[[0-9.]+\],}{AC_INIT([backupninja],[$VERSION],}" \
configure.in && \
RELEASE_DATE=$(LC_ALL=C date '+%B %d, %Y') perl -pi -E \
"s{^version\s+[0-9.]+\s+--\s+UNRELEASED$}{version $VERSION -- $RELEASE_DATE}" \
ChangeLog
* create the tarball: * commit, tag and create the tarball:
git commit configure.in ChangeLog \
-m "Releasing backupninja $VERSION" && \
git clean -fdx && \
git tag -s "backupninja-$VERSION" \ git tag -s "backupninja-$VERSION" \
-m "Releasing backupninja $VERSION" -m "Releasing backupninja $VERSION" && \
./autogen.sh ./autogen.sh && \
./configure ./configure && \
make dist make dist
* compare the content of the generated tarball with the content of the * compare the content of the generated tarball with the content of the
previous one previous one
* `mv backupninja-$VERSION.tar.gz ../tarballs/` * 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
* cleanup: `make distclean` * Install (extract tarball, `.configure && make && sudo make install`)
and test.
Debian
======
* sign the release: Prepare a new package:
cd ../tarballs git checkout debian && \
gpg --armor --detach-sign backupninja-$VERSION.tar.gz 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
* upload the generated tarball and detached signature to Install the `.deb` and test.
https://0xacab.org/riseuplabs/backupninja/
* push master branch and tags: Release
=======
git push origin master --follow-tags * sign the release and push it to Git:
* announce on the backupninja mailing-list gpg --armor --detach-sign \
../tarballs/backupninja-$VERSION.tar.gz && \
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
Debian * upload the upstream tarball and detached signature to the GitLab
====== milestone page with *Edit**Attach a file*
* 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
ln -s backupninja-$VERSION.tar.gz backupninja_$VERSION.orig.tar.gz Open the next development cycle
cd ../git ===============================
git checkout debian
gbp import-orig --upstream-vcs-tag="backupninja-$VERSION" \
../tarballs/backupninja-$VERSION.tar.gz
gbp dch --auto
dch -e
git commit debian/changelog -m "Releasing backupninja ($DEBIAN_VERSION) to Debian unstable"
git tag -s -m "Releasing backupninja ($DEBIAN_VERSION) to Debian unstable" backupninja_debian/$DEBIAN_VERSION
gbp buildpackage
* push the `debian` branch * `git checkout master`
* publish the source package somewhere * Add an empty new section in `ChangeLog`, commit and push.
* ask someone listed in the `Uploaders` control field to review and upload
* push the tag, once uploaded to Debian
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment