improve release process (not yet perfect)

Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
Nico Schottelius 2013-07-12 21:26:14 +02:00
parent 8209009ddc
commit 71f01ca735
3 changed files with 23 additions and 19 deletions

View file

@ -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

View file

@ -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)

View file

@ -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