project-config/jenkins/scripts/release-tools
Doug Hellmann 1776bff1a1 try harder to update constraint when a library is released
Some of the libraries are listed in the constraints file using the name
found in setup.cfg and some are listed using their canonical name. There
doesn't seem to be any pattern to which is which, so just try to update
both names under the assumption that only one will be present or if for
some unforeseen reason both are there that we want them to be the same
anyway.

Change-Id: Ia02a4c4365f1e0eb60f186c12a0c16849030c8a5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-08-09 17:05:19 -04:00
..
branch_from_yaml.sh clean up release tool output 2016-07-29 13:47:08 -04:00
functions update tag-release git command to fall back to master 2016-08-02 14:12:16 -04:00
launchpad_add_comment.py import the release tools that need to run on secure nodes 2016-06-21 15:55:15 -04:00
list_deliverable_changes.py fix diff-start handling in release scripts 2016-08-09 09:20:32 -04:00
README.rst start a readme describing the release tools 2016-06-22 13:52:30 -04:00
release_from_yaml.sh fix diff-start handling in release scripts 2016-08-09 09:20:32 -04:00
release.sh try harder to update constraint when a library is released 2016-08-09 17:05:19 -04:00
requirements.txt import the release tools that need to run on secure nodes 2016-06-21 15:55:15 -04:00

Release Tools

release_from_yaml.sh

This script takes YAML files describing deliverables to release (like those living in openstack/releases) and calls the release.sh script (see below) to apply the corresponding tags. It will create a tag for the last release mentioned in the file(s). You can point it to specific YAML files, or to a local git repository (in which case it will look at the files modified in the most recent commit).

Examples:

./release_from_yaml.sh ../openstack-releases deliverables/mitaka/nova.yaml

Call release.sh for all repositories mentioned in the last release added to ../openstack-releases/deliverables/mitaka/nova.yaml

./release_from_yaml.sh ../openstack-releases

Look into the git repository at ../openstack-releases for deliverable YAML files modified at the last commit, and call release.sh for all repositories mentioned on the last release in each such file.

release.sh

This script creates a tag on a given repository SHA and pushes it to Gerrit. Additionally it will add a message on Launchpad bugs that are mentioned as "closed" in git commit messages since the last tag on the same series.

Example:

./release.sh openstack/oslo.rootwrap mitaka 3.0.3 gerrit/master

Apply a 3.0.3 tag (associated to the mitaka series) to the gerrit master HEAD of the openstack/oslo.rootwrap reporitory, and add a comment for each closed bug mentioned in commit messages since the previous mitaka tag (3.0.2).

branch_from_yaml.sh

This script looks at the deliverable files to decide how to create stable branches.

$ branch_from_yaml.sh ~/repos/openstack/releases mitaka
$ branch_from_yaml.sh ~/repos/openstack/releases mitaka
$ branch_from_yaml.sh ~/repos/openstack/releases mitaka deliverables/_independent/openstack-ansible.yaml