project-config/roles/copy-release-tools-scripts/files/release-tools
Doug Hellmann d919755370 update the branching script to include a semver bump
We want to ensure that the version numbers on master are always higher
than the version numbers on stable branches. We can do that by
including an instruction in the commit message for the patch that adds
the reno documentation build file when a branch is created. We use
"feature" because we just need to bump the version enough to ensure it
doesn't conflict with the stable branch but do not want to force new
versions that make it appear the new release will be incompatible.

Change-Id: I99f7e3858e94ac3bdc5780945e941db6e9b2bba9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-10-12 11:49:46 -04:00
..
add_release_note_page.sh update the branching script to include a semver bump 2018-10-12 11:49:46 -04:00
clone_repo.sh prune dead branches when syncing with origin 2018-08-16 15:44:31 -04:00
eol_branch.sh Remove eol tagging from eol_branch.sh 2018-08-06 19:17:53 +02:00
functions improve error handling of clone_repo 2018-03-28 09:26:39 -04:00
launchpad_add_comment.py Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
make_branch.sh update the branching script to include a semver bump 2018-10-12 11:49:46 -04:00
process_release_requests.py Merge "ignore the series_status.yaml when processing release requests" 2018-04-27 09:41:46 +00:00
process_release_requests.sh Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
py3-requirements.txt Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
README.rst Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
release.sh use python3 to run launchpad commenting script 2018-06-21 16:30:26 -04:00
requirements.txt Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
update_constraints_for_branch.sh Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01:00
update_constraints.sh Move release-tools out of jenkins/scripts 2018-02-27 19:27:35 +01: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