project-config/jenkins/scripts/release-tools
Doug Hellmann d1f62732ca rewrite release jobs in python
Merge the two release scripts into one python script.

Change-Id: Ic9832b58f10b0a8a7f2f11b9200f88913706aa3d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-24 14:31:01 -04:00
..
README.rst start a readme describing the release tools 2016-06-22 13:52:30 -04:00
add_release_note_page.sh do not use the remote prefix name for release notes scans 2017-06-05 15:04:51 -04:00
clone_repo.sh Default clone_repo to master if branch not found 2017-10-20 06:20:20 -05:00
functions move git configuration for release jobs to ansible tasks 2017-10-20 18:38:12 -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_branches.py Merge "process branch locations based on input data not name prefix" 2017-05-30 18:28:48 +00:00
list_deliverable_changes.py port list_deliverable_changes.py to python 3 2017-05-25 13:47:21 -04:00
make_branch.sh Exclude upper constraint updates for driverfixes branches 2017-09-05 18:55:05 -05:00
process_release_requests.py rewrite release jobs in python 2017-10-24 14:31:01 -04:00
process_release_requests.sh rewrite release jobs in python 2017-10-24 14:31:01 -04:00
py3-requirements.txt port list_deliverable_branches.py to python 3 2017-05-25 13:47:04 -04:00
release.sh use unbuffered i/o for script adding launchpad comments 2017-10-23 14:36:33 -04:00
requirements.txt import the release tools that need to run on secure nodes 2016-06-21 15:55:15 -04:00
update_constraints.sh move git configuration for release jobs to ansible tasks 2017-10-20 18:38:12 -04:00
update_constraints_for_branch.sh add a command line wrapper for testing the constraints url update 2017-01-18 12:13:06 -05:00

README.rst

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