virtualenv pinning was added on Yoga final release time because some of
the deliverables' packaging didn't work with the new python module
discovery (see details: [1]). 1 year passed, hopefully most of the
projects have fixed these errors, so let's unpin virtualenv.
Since newest virtualenv introduces some errors, those need to be fixed:
- skipdist=False needs to be removed otherwise openstack_releases won't
be installed
- basepython=python3 is not necessary anymore since there is no py2
- allowlist_external is needed for tools/* scripts
This patch also adds python3.10 classifier to setup.cfg
[1] https://review.opendev.org/835423
Change-Id: Ibc1f538ddd04c0afeb3d5464fe0b1347ee3ea67a
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Removing the py36 centos8 job as well as
updating the python classifier also to reflect the same.
Also indicates that we support python 3.9.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: Ib286bb8887b0a1e56af159a2aed944def637aaad
Without knowing which releases have been made within the given
series either we shoots in dark in choising the kind of release
(bugfix, feature, major, etc...) or we need to check manually
what are the existing versions. That's time consuming.
These changes simply display the current versions available in
the given series.
Change-Id: Idb160198d52d3bc6b0fa00095b143b19a1f130eb
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: Ia9e4cab5a22aa9e9d0e13c4a1f9313c3fcb1ec66
This tool will be used in doc addition around the branching period
to ensure that we don't miss to create stable branches for project.
Also this tooling should be used around each trailing deadline to ensure
to not forget a trailing projects. Trailing projects are those who can
easily meet the conditions that lead to forget to branch them.
Adding usage of this tooling in our process to ensure to check that
point once a time at each new series.
Change-Id: I2a8bd25ecfe5bb1bde5af16b08f897a5bdc11cb7
Rewrite list_unreleased_changes as python format and add new features.
By default it will behave as the previous version of this command (the
shell script).
Few new feature have been added in these changes to allow us to more
easily handle outputs in scripts.
Features added:
- allow user to retrieve results in json format
- allow user to retrieve results in yaml format
- allow user to ignore project not yet released
The shell script entry-point (tools) is still there but it will call
the python command in a venv instead of directly implement features.
Also the python version allow us to more surround this tools with unit tests.
Change-Id: Iaf86ecb1589c40102acb621b23ea12d71ed453bb
Update docs building:
* Remove unneeded doc sections from setup.cfg
* Change constraints to use published document, use
new variable
* Import mock from unittest, remove imports from future
Change-Id: I8f33d4c0bf5fcba203d410cd021c548219a757ec
get-contacts:
To extract the PTL/Liaison contact information from the governance data
/ release team data
tools/bulk_review.sh:
To manipulate a dirty working-tree and post as a single gerrit topic,
one change per team. Changes are unordered so any change can be merged
when it's ready/ approved by the appropriate team
Also enhance get-deliverable-owner: to detect file paths
Story: 2005704
Task: 31028
Change-Id: Ia319e8a7b4da195cb4bc861c51025a41adc43bb3
Now that the release liaison info lives in data/release_liaisons.yaml,
we don't need to pull from the wiki. This patch also adds a schema
to verify the release_liaions.yaml is formatted correctly.
Story: 2005702
Task: 33639
Task: 33733
Change-Id: Ic4de16c26bb1a4fb878b86d2bd9c59bf5f54d11d
We will need to fix make-dashboard as part of the
validate-with-object-model series of patches, but we do not use it any
more so let's just remove it instead.
Change-Id: I25a0ccdde3fb0dede967c9008845de6464beeb77
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This is based on mnaser's work in https://review.openstack.org/533780/
Change-Id: Ie6f94db0dce2f5331c3d21a1192533ffc648329b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We've run into problems because we weren't maintaining older
deliverable files as we extended the schema. This change moves schema
validation out of the main validation command so it runs as a separate
step and processes all deliverable files by default. The more complex
validation rules are still only checked for files being modified in a
given commit.
Change-Id: I4b69ca3c59da6606cf2b27d05c8846223d52998a
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Import the release-notes command from the release-tools repository and
integrate it with the list-changes command so that we see the release
notes for an upcoming release. This lets us review the release notes
output for warnings (like not having a documentation page linked) and
errors (such as reno failing to work).
Change-Id: I710606fe44601fe5414bfc82f25894319f16e558
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: I1f3c46adf07ccf4de7663ec32fc2ac38f4ba9e18
Add a new command for making small changes to deliverable files. The
first version knows how to set the release notes URL.
Change-Id: I7b4949d2e93bf6bdfd0080f42a0a3c32a9631750
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We need to ensure all of the libraries are branched early, when they
are frozen. Add a command to do that.
Change-Id: I8d67dd7cb35502db2bbbf45c0da215ff189b3886
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Avoid the version of sphinx that introduces an attribute error on
builder_target_dir.
Change-Id: Id868e4cda6d31a9ec43d411950f63a8b49e424ae
Related-Bug: #1691129
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Some of our tools no longer work as expected under python2. We've set
our basepython to python3 in tox. So lets call that out in our metadata.
Change-Id: I62043a85cd5216ca45293f67476743f07c39d588
Update to the version of Sphinx that supports treating warnings as
errors through setup.cfg, and turn on that flag. Fix the warnings that
prevent the build from working in this state.
Change-Id: I41d142e299d107ff5878f8005c7a0c56e6375f7c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Takes an existing schedule.yaml file and produces the initial content
for the tracking etherpad.
Change-Id: I174d325579406528c060cf43f02639bf7d553e23
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This code is basically copied from the release-tools repository version
in ptl.py, with some enhancements to support the tests being added here.
Change-Id: Iabccb6fa6b20eb3c226fd0a16a736d993b78d330
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This change converts the Ocata schedule to a YAML file and introduces
the templates needed to render it to a table in the restructuredtext
file so it can be published to HTML again. This is a prerequisite for
also generating an ICS file for the schedule.
Change-Id: I905b47b5b98b6d442c197e0291c44746aaf52bbb
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
pbr builds both html and man by default, so override that with only html
to avoid unneeded step of building man pages.
Change-Id: I2a10437b2aa7ecdb779441d611d0a9993e8465f4
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a command to initialize a new series by copying over the data from
the previous series, without the release or branch specifications.
Change-Id: I97ae78f6ae813ff36084ded82bb36f8769a96816
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This new command will replace the one in the release-tools
repository. It uses the deliverable data for a series to produce a
dashboard for tracking the cycle-with-milestone releases so we can set
up a spreadsheet to collaborate on keeping track of those releases.
The old command included deliverables using other release models, but
those are less important/useful to track in this manner.
Change-Id: Ic613d65ae3d143cc910fec201205f1f84fde761c
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Set up commands to run to execute new unit tests.
Ignore output from testr and coverage.
Rename the dist to match the package name so that the testr/coverage
integration works properly.
Add test-requirements.txt with some common testing dependencies.
Change-Id: Ic6f34df893f3981a9af6122456b9feb9c80b31dd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a command to print a list of the names of deliverables that match
specified criteria, like having a certain release.
Change-Id: I52844446e288513b0a575c922a83d72f803f9f17
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a tool for reviewing the diff-start values for a final release.
Change-Id: I0d51f766d1cf899bd5c210060b0661a08246669b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
While we're still doing releases by hand, every once in a while we miss
actually applying the tag after we merge the patch. This command will
help find those missing tags.
Change-Id: Ia7da7cedc53bcf3947e489d95abab9370f6e023b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a useful new command that augments some of the
existing commands and can be used in a interactive
manner to create a release for a given project or
view what a release could be composed of.
Change-Id: Ic0ee4ecc7c5abf0cd65d7cf19c132712a2acf4ae
Do note this will lose comments, if pyyaml ever supports
not losing those then this can avoid losing those.
Change-Id: I4b26362f7cab42eb40804751c86d9145490c78d9
Sphinx 1.4 and Babel appear incompatible,
so cap the version we use.
https://github.com/sphinx-doc/sphinx/issues/2394
Change-Id: I1e76563b6adc4bac74759517725bb12f33d553dc
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
list-constraints takes a series name as input and produces a constraints
file including all of the packages released as part of that series. It
doesn't differentiate between servers and libraries and tools, since we
don't know from here which might be listed in a given constraints
file. Merging the output with a real constraints file is the
responsibility of the user.
Change-Id: I6f669dca320825f7a313953f8d13f5daf5e51368
OpenStack projects are no longer being tested under Python 2.6, so
remove the trove classifier implying that this project supports 2.6.
Change-Id: I493c7830078631631d0a6572a951d16d5cfe1c5f