Release - PanDAWMS/panda-harvester GitHub Wiki

Intro

Currently only admins of Harvester repository can make releases.

Harvester has a file pandaharvester/panda_pkg_info.py in code to mark the version. From v0.1.0-rc , code of all commits except in "release" branch need to have the "-rc" (release candidate) suffix in version.

When a commit is tested to be stable, repository admin can mark the version without "-rc" suffix, and tag the release version in git.

Procedure to Make New Release

On local host, one must fetch remote branches from Harvester repository (say named "cern_official" on local host). At least "master" and "release" branch must exist.

$ git fetch cern_official

$ git branch -a
  ...
  remotes/cern_official/master
  remotes/cern_official/release
  ...

(Optional) If there is not a local "release" branch, make one:

$ git checkout -b release cern_official/release

Checkout to "release" branch:

$ git checkout release

Make sure it is up to date from remote official branch (say named "cern_official"):

$ git pull cern_official release

Get the hash of the commit one wants to publish a release. Merge this commit.

For example, we want this commit to be release v0.1.0, then:

$ git merge 800143099ae05d7316961e95b131c136d37cb5c2

Edit the file pandaharvester/panda_pkg_info.py in the code to match the version number to release.

For example, we want v0.1.0 :

release_version = "0.1.0"

Commit this change:

$ git commit -m 'release v0.1.0'

Push to remote "release" branch:

$ git push cern_official release

On GitHub webpage of Harvester, go to page for new release

For example of v0.1.0, type "v0.1.0" in "Tag version" and "Release title" block. Choose "release" in "Target:" drop-down box.

Then click on "Publish release" button.

Done. We will have a new release like this