project-config/roles/copy-release-tools-scripts/files/release-tools
Thierry Carrez 885330b8e7 release-scripts: Remove misleading error message
In the normal course of script execution, clone_repo.sh routinely logs
the following error message:

error: pathspec 'xxx' did not match any file(s) known to git

This error can be safely ignored, as the script moves on to checking out
master instead. But it can be (and has been) mistakenly interpreted as
the reason why the script fails.

This change avoids logging the error message and logs a clearer
explanation instead.

Change-Id: Iaaaed7b0ea343bd81b8ad898654658545942a3d0
2021-01-05 15:25:03 +01:00
..
add_master_python3_jobs.sh Make job template update best effort 2020-04-11 14:45:20 -05:00
add_release_note_page.sh Use python3 to run release note script 2021-01-04 12:14:36 +01:00
clone_repo.sh release-scripts: Remove misleading error message 2021-01-05 15:25:03 +01:00
eol_branch.sh Update jobs for OpenDev 2019-04-20 13:51:05 +00:00
functions Update branch checkout for octavia-lib DIB element 2020-09-14 08:33:09 +02:00
launchpad_add_comment.py Stop to use the __future__ module. 2020-06-02 20:44:50 +02:00
make_branch.sh Do not update upper constraints for intermediate branches 2020-08-17 17:28:17 +02:00
process_release_requests.py Fix flake8 testing 2020-05-12 08:40:07 +02: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 Use python3 for update_constraints 2020-07-01 15:13:11 -05: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