Patch I55ee87cdb9ee712c334c798a1c2a7ba745e5870e extended the
make_branch.sh script to not (re)create stable/* or unmaintained/*
branches in case a <series>-eol tag exists. However the bash string
manipulation magic doesn't work correctly in the job, which
resulted that some stable/* branches were recreated.
This fix removes the complex magic and only relies the proved to be
functioning string manipulation.
Change-Id: I3aecdc03ec720ea756a5ba467cc6073b7b7d7941
Currently there is an error happening if a deliverable does not have the
series defined which is being transitioned to unmaintained. Check
whether the series file actually exists before trying to modify it and
exit gracefully if it doesn't.
Change-Id: I8817a95656bad0b03243a415c4d3d364e85c048c
When we cut unmaintained/<series> branch, the <series>.rst reno page
needs to be updated to use unmaintained/<series> branch instead of
stable/<series> branch, as that is deleted.
Change-Id: I811d13d4d524ae83e14acbe8e16888c7f1d91e57
This was updated in the release repo with [0] but missed to update in
this copy here.
[0] I7c3ed1e08c7ef1a62845df0d9c5b22f400d8d90b
Change-Id: If45f95cf530984240b9999f06b28c2602b03ab26
With the new TC resolution the community replaces Extended Maintenance
with Unmaintained status [1].
The make_branch.sh script needs to be extended to
- do not re-create stable/<series> branch when <series>-eom tag exists
- do not re-create unmaintained/<series> branch when <series>-eol tag
exists
[1] https://governance.openstack.org/tc/resolutions/20230724-unmaintained-branches.html
Change-Id: I55ee87cdb9ee712c334c798a1c2a7ba745e5870e
With a recent patch a new release job error came up [1]:
when fetching the release-id from the series_status.yaml the yaml
parser resolves the new names (eg: 2023.1) as float, so we have to
convert it to string to be able to concatenate it to 'stable/' string.
[1]
File "/home/zuul/scripts/release-tools/process_release_requests.py", line 116, in get_branch
branch = "stable/" + series.get("release-id", series_name)
TypeError: can only concatenate str (not "float") to str
Change-Id: I4e317919292d7481b2ffd15b68473fff5b4b9aaf
In [1] we saw that releases on antelope are proposed as constraint
updates on master. This is another case where series != release-id.
Add meta:branch to the release metadata and use that when updating
constraints
[1] https://review.opendev.org/q/I369b2140ff3203d069530dcbabffb79cd29d859b
Change-Id: Ic4ea185d54a7e82bcb9fae3c1291a4c3bb456f22
Currently we have a, short, static list of closed releases. We
maintain this data in series_status.yaml. This change loads this
data to build CLOSED_SERIES on load.
Change-Id: I3270eb7771f892cf8b2de760c1d0966bcfc8417c
In case a branch is End of Life (marked with either $series-eol or
bugfix-<version>-eol) and was deleted before, then our script recreates
it based on the info in deliverable's yaml file.
This patch extends the script by checking if an *-eol tag exists and
in case it does then exits without creating again the already deleted
branch.
Change-Id: I1b763aa52703221d211156c060b8998282fcfc5d
In Zed cycle, TC agreed to use the unversioned job template [1]
(implemented in [2]), thus we don't need the script to generate the
patches. This removes the script and also the lines where the script is
called from, so OpenStack Bot won't propose any change regarding the
series specific job templates.
[1] https://etherpad.opendev.org/p/tc-zed-ptg#L360
[2] https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/856903
Change-Id: I8c8aa9ae1fc395361fa6162983feac631608032f
From 2023.1 cycle, TC agree to make python version
template to be unversioned
- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/856903
This commit updates the release script to update the
unversioned template from next cycle.
Change-Id: Icf03e279bf574f5ff0c0f14b53c4ef76b6098c46
This adds a step in the launchpad interaction during a release to set
the bug task status to "Fix Released" for the series being released.
Change-Id: I9fbbed3131e2ebfd590f27c569603add15bc969d
``django_openstack_auth`` code was merged into the main horizon
repository during the queens release. This repo is already
deprecated and now we can retire it. This patch removes all
references of ``django_openstack_auth`` as mentioned in [1].
Also, this patch takes care of step 2(End project Gating)
and and step 4(Remove Project) because
step 1(Stop requirements syncing) and step3(Remove Project Content)
is already handled by If04778ccc99ea92355378d59e616d8794e36ea14
and I74b10a90fe79fc768cfb8de6f68d3cd2f4938e51 respectively.
Note: this patch doesn't drop the official-openstack-repo-jobs template
and noop-job because noop-job is needs to be defined for the check and
gate queues to merge a patch and official-openstack-repo-jobs is needed
to syncup the changed in github repo once Ib811fb321d18fc01f3786f8b3ab16b2eda558864
merged we can drop this template and noop-job.
[1] https://docs.openstack.org/project-team-guide/repository.html#retiring-a-repository
Change-Id: Ifa691c2d2e7ac8bb502c8fae7dbdcc89fa4ef825
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
Use python3 when running the script to add release note page as
part of the release process.
Without that we get the following error:
```
2020-12-26 16:58:15.569890 | ubuntu-focal | + python -c 'print('\''victoria'\''.title())'
2020-12-26 16:58:15.570573 | ubuntu-focal |
/home/zuul/scripts/release-tools/add_release_note_page.sh: line 51:
python: command not found
```
c.f http://lists.openstack.org/pipermail/release-job-failures/2020-December/001499.html
Change-Id: I6a5a68570b8948692aa48f09003d26590ee621e4
Octavia has a diskimage-builder element to install octavia-lib. When
creating an amphora image from an Octavia stable branch, the expectation
is the octavia-lib code will match the same branch (master or stable).
This patch updates the branch name and upper constraints for octavia-lib
in Octavia on stable branch creation.
This change is in line with I8eba64c886c187c8652f94735ca6153702203d17.
Depends-On: https://review.opendev.org/#/c/745506
Change-Id: I31b762f631304636bafabec9c54cd31c6c91f124
Patch I8eba64c886c187c8652f94735ca6153702203d17 added logic to update
the constraints URL for a project specific file, but adding the file
before committing and submitting the changes was missed, resulting in
git review erroring during the rebase step of submitting the review due
to unstaged files.
Change-Id: I4d87546f12c4a866e9c666e83c42ad8d07a637a3
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Some instances have failed due to the repo not being configured for the
expected series job templates. This changes the modified file detection
to only look for the zuul files we care about, then not error out on git
operations if it ends up we can't actually commit and propose changes.
Change-Id: Ic301b039d080dfc0bcbefeecce099c8fd00ad8c5
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Local testing passed, but when run in the gate, script execution failed
on the sed expression not being preceded by '-e'.
Change-Id: I02545e1f976f220f197556bdfa6e6225d9bd8d36
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Missed in Id58f439052b4ea6b092b87682576a746433dcc27 that the branch name
passed in when determining the next series name will be of the form
'stable/series', resulting in not finding the next name and job update
logic being skipped. This adjusts the branch name to properly match the
series name.
Change-Id: Ie4102ceb0d12b7d98919ddb89b8e17df1859fa6a
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Currently, we need to update jobs manually after a branch is
created.
When a project is branched, the master branch should then
be pointing to the new named python3 tests.
This should do it.
Change-Id: Id58f439052b4ea6b092b87682576a746433dcc27
Current update constraints patches replace all entries of a package with
an entry for the new version. But the upper-constraints file now needs
to have multiple entries with specific ";python_version=='x.x'" to be
able to handle differing requirements for packages that no longer
support Python 2, or even earlier Python 3 versions.
This adds awareness to the update script to only update the version for
matching python_version specifiers if they are present. It then falls
back to replacing the full line if the entry for the package does not
have any python_version markers at all.
Change-Id: I5e5e604fe9e461e45af0aa4446edd0af89d63381
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Octavia has a diskimage-builder element to install the amphora-agent.
When creating an amphora image from an Octavia stable branch, the
expectation is the amphora-agent code will match the same branch (master
or stable). However, the amphora-agent always pulls master versions of
upper-constraints.txt and of the Octavia Git repository.
This patch updates the branch name and upper constraints for the
amphora-agent in Octavia on stable branch creation.
Change-Id: I8eba64c886c187c8652f94735ca6153702203d17
This version of hacking doesn't understand f-strings as usable in
Python 3. Update to the latest and fix current issues, which are all
just formatting fixes.
Change-Id: I0a7d6f93f07477b6dd29ab143130dd9064c250be
Some have pointed out that the generated page title is not strictly
correct for a valid RST title. This adds some additional formatting of
the text to make sure it is completely valid.
Change-Id: I8652be3dc987629a8acca7a1584086fc4e2f4636
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
In I3f957187ed4f29fcf88db99cb79fb33b21a8dd8d we'd like to rename
the use of UPPER_CONSTRAINTS_FILE to TOX_CONSTRAINTS_FILE so that
we can reuse the logic for LOWER constraints file checking as well.
Change-Id: I04066ca815814ecf66abe9cb385469969edead57
Follow OpenDev changes:
* Use gerrit.opendev.org instead of gerrit.openstack.org
* Use opendev.org insted of git.openstack.org
* Follow move of openstack-infra/project-config to
openstack/project-config
Change-Id: Ic27ea41407abc0bdec29768e5ee5dca33f8adeda
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: I0cc16c32dcea3b6036553c9f9e8df45a241254e0
Rather than pointing to the git server, point to a redirect on the
releases.openstack.org server that we can update easily when a branch
closes.
Change-Id: Iab3b36cafdce48a84e23a3c8fd94a1b8b844a147
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
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>
The release scripts rely on having an actually up to date version of
the repo being tagged or branched. Since the repos in the CI images
may have branches that have been deleted in the upstream repository,
we need to add the --prune option when we fetch any updates to cause
those branches to be removed locally.
Change-Id: I806283102be4de5ae865ca67978216a76de96a71
Related-commit: I25848275f90ec440e85765f87a23cd1413aab6cb
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Import this script from now retired openstack-infra/release-tools
repository. It is run manually at eol time to retire a branch.
Change-Id: Idcffdc5c5c540bd73ee7ee3e5be9274d693d5f1f
Use python3 when running the script to comment on launchpad tickets as
part of the release process. The depends-on patch adds the python3
version of launchpadlib via bindep.
Change-Id: I189d83462381723bb8309c248d0ace21ae6f30c1
Story: #2001691
Task: #22329
Depends-On: https://review.openstack.org/577290
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Retired repositories may not have a .gitreview file in master, so we
want to check out the tag we are given to branch from instead. There's
no point in setting up git-review if we aren't going to create the
branch, so move the setup logic after the test for the existing
branch.
Change-Id: Ie8c69a9729e5e0d470c8a9292da999e275c9611a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The series_status.yaml file does not contain release data so
process_release_requests.py should ignore it.
Change-Id: I661c5a10b0497fd9112daea6d4737a5d15dc8b79
Signed-off-by: Doug Hellmann <doug@doughellmann.com>