The deliverable type value is 'service', so let's use that for
consistency
Change-Id: I7118b6737800921b72ab4637fe614de29167f0fa
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Change the 'std' release type to 'python-server' and add a
'python-pypi' release type for deliverables that are published to
PyPI.
Separate the release job validation from the validation of release
version numbers and other settings to make the logic clearer.
Add a new function to determine the release type for a project, either
by checking the explicit value or guessing.
Update the unit tests that relied on 'std'.
Remove a unit test that tested a code path that has been removed.
Change-Id: I704ec75fec61ecb6ee379239a5fa8612cb01b426
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Be explicit about the projects that need special release jobs so we
know they are configured correctly.
See
http://lists.openstack.org/pipermail/openstack-dev/2017-October/123926.html
for more details.
Change-Id: I73307fb3233c128c8f878da89c1e850831135bc3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This adds the ability to provide release highlights in the deliverable
yaml file. These highlights can then be extracted and displayed into
published documentation using a new 'cycle-highlights' directive.
Change-Id: I40791dad4b5a4d2c4089e5e43d52f00b52cc3217
Require puppet repositories to have the puppet jobs and node
repositories to have the node jobs.
Update the allowed values for release-type to include "puppet" and
"nodejs" for folks who want to be explicit, but also use the module
type-detection code to default properly.
Report any jobs that are valid release jobs but for the wrong release
type as errors instead of warnings.
Change-Id: I9330cc62834f42ae0cd4d1cc48ed963846d72944
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add a stable-branch-type called "upstream" for projects that follow
the naming conventions of another upstream project (see puppet-ceph
for an example).
Change-Id: I354bf975311c2b02c020dc83590c041c7733b041
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>
The rules for stable branches vary based on whether a project is tagged
or not. The default rule set still relies on using tags, but projects
like devstack and grenade will want to be able to create branches
without having to tag. This patch adds a new stable-branch-type option
to let us control the behavior for each deliverable file.
Change-Id: I13c22d9da303cd3a6df329bf310a2292cfec9ae0
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The validation logic for driverfixes branches requires a mapping of repo
name to SHA. Update the README to reflect the correct rules.
Change-Id: I1f77c15fa0843b4fc0975b230530d08cc2957acf
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We switched to https for docs.openstack.org, adjust most URLs.
This change updates documentation etc files, but not any deliverable files.
Change-Id: Ia8b0524025ab1c685ec6f57246f8b34231f52632
Some projects use storyboard instead of launchpad, so look for one or
the other and try to do some basic validation of the storyboard project
ID.
Change-Id: I94a9507969bcc8bbe2358132761c0935d94cadaa
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Add detail about how to define a deliverable based on how the project is
managed rather than technical criteria.
Move the information about assigning version numbers up to the "how to"
section instead of the reviewer section to make it more likely that
submitters will read it.
Change-Id: I480e91ae69f91b2e87ed83fe343dc546948f31f5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Use a version of list_unreleased_changes.sh that does not rely on the
release-notes command from the release-tools directory.
Change-Id: Ifab8585a3707927d224ee223a551167cced05261
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Instead of requiring the series argument, look at the default that the
rest of the scripts use. There is still a command line option for
overriding the default.
Change-Id: I7168b4786ac8f275da1ff0cd177268b3a4c20c17
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The aclmanager script needs to be able to get a list of repositories
with the cycle-with-milestone release model, and the data for that lives
in this repository now instead of the governance repository. Rather than
having a tool that relies on this data live in release-tools, move it
here.
Change-Id: I7c2c54c4949829aea92e569e3ac9ec9007d932ed
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
As part of the "neutral governance website" effort, TC-related
governance content is moved under governance.openstack.org/tc.
While those links are preserved through redirects, it doesn't
hurt to give the right examples (and avoid redirection) wherever
we can.
Change-Id: I85160e0c9bdf3d1f3fbf372162415e80dfc41187
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>
Somehow an earlier commit removed a lot of the indentation that made the
README actual readable. Restore it.
Change-Id: I53e9400c42bfd5f6d23250821b6821ce2c9c7148
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
release.sh no longer processes the send-announcements-to
directive, so stop requiring it.
Change-Id: I53224100b821416f01ebbd5396b4fd9f632b2489
Depends-On: I37f24fe4a716c9b64f241d7a45da8e8bce8b55c2
The deliverable type is really only used to control how the
releases.openstack.org website is rendered, so it does not need to be in
the governance repository. Copy the current values here to a new 'type'
field in the deliverable file and update the validator to require all
deliverable files to have values.
Change-Id: I0def1117b45170ebf451ef510917db9c20301e17
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Because release models change from series to series, we want to track
the data in the releases repository instead of in the governance
repository. This change adds a new 'release-model' field to the
deliverable files to hold the new value.
The valid release models are documented as part of a new reference
section for the published documentation for the site.
The validator looks only at the deliverable file for the release model,
and no longer looks at the projects.yaml file in the governance
repository. For files in the _independent directory, the release model
is inferred from the filename to avoid having to set it redundantly.
Change-Id: I81198a86da98436dc2f65806aafc5f241340c57f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Explicitly say that every new release needs a new version number.
Include freeze weeks as a reason a release might be postponed.
Change-Id: Id417783a3e70977251ccba68253c3521f8959af7
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>
It's useful to not only have the commands but also provide
what they do (or at least a brief description in the README
file) so that people trying to use them can know they are
there.
Change-Id: I779ed90406baafd1743d07f006f6c1af954068e4
The xstatic packages have a 4 digit verion number 3-digit semver as
supplied by upstream and a local build number. PBR only supports 3
digit semver.
To work with that create the concpet of a release type that can have
slightly different validation rules. In this case use the 'packaging'
library.
This will allow the horizon team to use the standard release process.
For refernce see:
https://blueprints.launchpad.net/horizon/+spec/xstatic-release-process
Change-Id: Ie0f33097c31ee4006ec58147b35731913f7b6f4b
Teams add and remove repositories, change owners of repositories, and
are themselves removed over time. We can't rely on the current version
of the governance repository to include the information about who owned
a deliverable, so we need to put that information here in the releases
repository where we can track changes over time.
This patch adds support for a required "team" field to the deliverable
file, using the values set in previous patches in the series, and
updates the rendering code to use it instead of the project list from
the governance repository.
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Change-Id: I5941072c641c05bf0983984cae29a34927246d86
Some repositories used to create older deliverables have since been
retired. Add support for a flag to designate them as such, and refactor
the flag test code to make it a little cleaner and to define tags
clearly in one place
Change-Id: I7002f2a13409edfbd76e681b267e28bc28e1a53e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Some projects want to tag repositories that do not have explicit build
artifacts. This patch adds a somewhat generic "flag" system for adding
this and similar settings on a per-repository basis.
Change-Id: I40d73987f91409e760177b573c1c300c091ef09e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>