project-config/jenkins/scripts/release-tools
Monty Taylor 36304438ee
Replace git:// with https://
git:// is not a secure protocol. It's also harder to do apache rewrite
tricks and whatnot when we eventually flatten namespaces. Change
occurances of git://git.openstack.org to https://git.openstack.org.

Change-Id: Ic54f1b84346e37a76baa87deadbb540662889bca
2017-11-17 09:06:21 -06: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 Replace git:// with https:// 2017-11-17 09:06:21 -06:00
functions remove some debugging for release git clone 2017-10-24 11:58:22 -04:00
launchpad_add_comment.py add more detail to output of launchpad script 2017-11-16 13:34:03 -05:00
make_branch.sh Exclude upper constraint updates for driverfixes branches 2017-09-05 18:55:05 -05:00
process_release_requests.py add more trace info to process_release_requests.py 2017-10-24 16:41:54 -04:00
process_release_requests.sh avoid creating extra temporary directory in release job 2017-10-24 14:34:27 -04:00
py3-requirements.txt port list_deliverable_branches.py to python 3 2017-05-25 13:47:04 -04:00
README.rst start a readme describing the release tools 2016-06-22 13:52:30 -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_for_branch.sh add a command line wrapper for testing the constraints url update 2017-01-18 12:13:06 -05:00
update_constraints.sh move git configuration for release jobs to ansible tasks 2017-10-20 18:38:12 -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