From 71f01ca735866e709d0426189616b84bdcd9a4e7 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 12 Jul 2013 21:26:14 +0200 Subject: [PATCH] improve release process (not yet perfect) Signed-off-by: Nico Schottelius --- Makefile | 19 +++++++++++-------- docs/changelog | 4 ++-- docs/dev/logs/2013-07-12.release | 19 ++++++++++--------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 0fa6965d..e09d9609 100644 --- a/Makefile +++ b/Makefile @@ -95,12 +95,12 @@ man: $(MANTYPEALL) $(MANREFALL) $(MANSTATICALL) # Manpages #5: release part MANWEBDIR=$(WEBBASE)/man/$(CHANGELOG_VERSION) -man-dist: man +man-dist: man check-date rm -rf "${MANWEBDIR}" mkdir -p "${MANWEBDIR}/man1" "${MANWEBDIR}/man7" cp ${MAN1DSTDIR}/*.html ${MAN1DSTDIR}/*.css ${MANWEBDIR}/man1 cp ${MAN7DSTDIR}/*.html ${MAN7DSTDIR}/*.css ${MANWEBDIR}/man7 - cd ${MANWEBDIR} && git add . && git commit -m "cdist manpages update: $(CHANGELOG_VERSION)" + cd ${MANWEBDIR} && git add . && git commit -m "cdist manpages update: $(CHANGELOG_VERSION)" || true man-release: web-release # Fix ikiwiki, which does not like symlinks for pseudo security @@ -155,7 +155,7 @@ web-release: web-dist man-dist speeches-dist ML_FILE=.lock-ml # Only send mail once - lock until new changelog things happened -$(ML_FILE): $(CHANGELOG_FILE) +$(ML_FILE): $(CHANGELOG_FILE) git-release web-release $(helper) ml-release $(CHANGELOG_VERSION) touch $@ @@ -201,7 +201,9 @@ git-checkout-current: $(VERSION_FILE): .git/refs/heads/* .git/refs/tags/* .git/HEAD echo "VERSION = \"$$(git describe)\"" > $@ -git-release: git-tag git-branch-merge +git-release: git-tag + make git-branch-merge + make git-checkout-current make pub ################################################################################ @@ -212,10 +214,8 @@ PYPI_FILE=.lock-pypi pypi-release: $(PYPI_FILE) $(PYPI_FILE): man $(VERSION_FILE) - make git-checkout-stable python3 setup.py sdist upload touch $@ - make git-checkout-current ################################################################################ # archlinux @@ -227,7 +227,7 @@ $(ARCHLINUXTAR): PKGBUILD pypi-release makepkg -c --source PKGBUILD: PKGBUILD.in $(VERSION_FILE) - ./PKGBUILD.in + ./PKGBUILD.in $(CHANGELOG_VERSION) $(ARCHLINUX_FILE): $(ARCHLINUXTAR) $(VERSION_FILE) burp -c system $(ARCHLINUXTAR) @@ -241,12 +241,15 @@ archlinux-release: $(ARCHLINUX_FILE) CHECKS=check-date check-unittest +check-unittest: $(VERSION_FILE) + RELEASE=speeches-dist web-release RELEASE+=ml-release freecode-release RELEASE+=man-dist pypi-release git-release RELEASE+=archlinux-release -release: $(CHECKS) $(RELEASE) +#release: $(CHECKS) $(RELEASE) +release: | $(CHECKS) man speeches echo "Manual steps: linkedin, twitter" # Code that is better handled in a shell script diff --git a/docs/changelog b/docs/changelog index 98e021f9..9e1279ba 100644 --- a/docs/changelog +++ b/docs/changelog @@ -4,8 +4,8 @@ Changelog * Changes are always commented with their author in (braces) * Exception: No braces means author == Nico Schottelius -2.2.0: 2013-07-11 - * Build: Fixed several small issues in the Makefile +2.2.0: 2013-07-12 + * Build: Cleanup the Makefile * Type __package_opkg: Use shortcut version * Core: Remove old pseudo object id "singleton" (Steven Armstrong) diff --git a/docs/dev/logs/2013-07-12.release b/docs/dev/logs/2013-07-12.release index 1616505e..da4b296c 100644 --- a/docs/dev/logs/2013-07-12.release +++ b/docs/dev/logs/2013-07-12.release @@ -14,18 +14,19 @@ x rsync cdist docs to website repo & add to website repo x create blog entry & add to website repo ] - - upload website - - fix latest link for manpages - - send mail to mailinglist + x upload website + x fix latest link for manpages + x send mail to mailinglist -> also requires git tag & git release + x should also require web-release including blog! - create PKGBUILD for archlinux release - - create git tag / read description - - if necessary create version branch - - change to version branch and merge master branch - - update git repos - - update website from repo - - create release on freecode + x create git tag / read description + t if necessary create version branch + x change to version branch and merge tag! + x update git repos + x update website from repo + x create release on freecode x create versionfile x make pypi release