How to deploy code/Scap

From Wikitech
Jump to: navigation, search

These are notes on how to deploy a new version of Scap. This covers the steps needed to version and rebuild the scap package and update puppet.

There are Debian Versioning guidelines

Bump upstream version

In this case, of course, we are the upstream.

Modify version in scap/version.py

version=3.2.4

Commit changes

git add scap/version.py
git commit -m 'Bump version to 3.2.4'

Tag new version:

git tag --sign 3.2.4

Test the build

Clean everything, you need a completely clean checkout for git build package to be happy:

debclean
pushd .. && rm -rf scap_* && popd
rm -rf .pc .tox cover .coverage Scap.egg-info docs
git checkout docs

Update changelog

DEBEMAIL='tcipriani@wikimedia.org' DEBFULLNAME='Tyler Cipriani' gbp dch --new-version 3.2.4-1

Modify debian/changelog. This file is not just for package building, it should be human readable.

Run build:

gbp buildpackage -us -uc --git-ignore-new

Puppet patch

Update puppet with a scap version patch in modules/scap/manifests/init.pp

Go ahead and push the puppet patch to gerrit, you'll need it after you have tagged the new Debian version.

Tag Debian Version

If the build worked fine on beta, you can tag the upstream version.

debuild clean
git add debian/changelog # version.py will have also changed here, but don't add it
git commit -m 'Bumping Debian version to 3.2.4-1'
gbp buildpackage --git-tag-only
git push --tags origin release

Production update

Ask an opsen (usually Filippo (godog) to help get the new version of scap onto carbon and merge the puppet patch created earlier. All servers should update their own version of scap after that.