The legacy job triggered on manila-image-elements releases has
been replaced by a zuulv3 in-tree job with a different name so
update the release model for manila-image-elements accordingly.
Depends-on: https://review.openstack.org/#/c/631846
Change-Id: I7006fb38d95f5dfded6c0d06b5e0dfb9e706bb47
We updated publish-to-pypi so that it has the same content as
publish-to-pypi-python3 - and then replaced publish-to-pypi-python3 with
publish-to-pypi. Thus, publish-to-pypi does what publish-to-pypi-python3
has done previously.
Since all repos have been updated to use publish-to-pypi, check for that
one again.
Change-Id: I09ed2370a4d1f1bfb94cf73a951d0f1f6af36be6
Depends-On: https://review.openstack.org/615239
Drop the legacy release jobs for python projects and require the use of
the new python3 job.
Change-Id: I3c6040983dd00f45c4322aa0fb3dd16fff6eef11
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The validation changes anticipated having neutron and horizon versions
of the pypi job, but we ended up not needing those. Correct the expected
set of job templates for releases from horizon projects (neutron projects
are fixed in the previous commit).
Change-Id: If6d5478db6b513a8eba9734e9f4ab34761d11346
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The validation check is looking for a "publish-to-pypi-neutron-python3"
job to be set in the project-config repository for the neutron projects
but, that job doesn't seem to exist. This patch is changing the
validation script to look for a "publish-to-pypi-python3" job instead.
Change-Id: I9d2c6c82e78f798b12a8cadd633f6b247127133b
The openstack/manila-image-elements repository has a specific
release job, legacy-manila-publishimage-generic. In order to
support release requests for manila-image-elements, we need
to create a specific release model ("manila-image-elements")
where that job is a valid release job. That will allow
manila-image-elements to drop direct tagging ACLs.
Change-Id: Ida32d45c1e5587b98eca5e4ed36880a77a92698e
As part of the python3 goal for stein we are going to move the zuul
settings out of the project-config repository and into each project
tree. We need to update the validation to look at the files in the
repo being released in addition to project-config when we are looking
for the project-templates to verify the release jobs.
Change-Id: Ib64d59b1b6646d779112c9fcad47ae7d2c3c74d4
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
During the transition phase projects may use either the
python2 (default) or python3 version of the pypi publshing jobs.
Change-Id: I2759696347f2226499b4a8b3ee7dfa0d2c06c310
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Since 6f45a58da9 in project-config, xstatic publication
job template is called publish-xstatic-to-pypi instead
of xstatic-publish-jobs.
Change-Id: I85d4f2753e5667fa8a6619efc05e9fba74a6f391
We need to hold on to the old version of the release type validation
function to support the validate_releases function, for now.
Change-Id: I8c909c5ffc7dd0daf89dd123813bff1d8bb934c3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Update the default jobs allowed for a python service to include
publish-to-pypi, as we begin to publish more services there.
Change-Id: Ibf31c851205a0eed283a4f6bdc1cd6a8037dcd79
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
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>
The openstack-server-release-jobs job was renamed to
release-openstack-server in zuulv3 so we need to handle
both.
Change-Id: I10bbc40e24d4588a1f476ce27f126aaa3e17b28a
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>
Update the errors reported when we think a release job is configured
incorrectly so that it shows more detail about what is present and
what should have been present.
Change-Id: Ic345ed4323feb5750494acffc62b6d3918112769
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The release jobs are attached using a different configuration file
that has a different format. Update the validation logic to read the
new file and process its contents correctly.
Change-Id: Ib5ae569572b88524607bd320db6d746437d8636f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Also set the encoding for the data files in more open() calls.
Change-Id: Idda3a7ab46e5478f83541fbbb629d7e086515ffd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The various puppet projects are updating their build jobs to use a new
one that includes some binary dependencies not present in the existing
job. This patch adds the new job template name to the list of allowed
by the validation logic here, to enforce that puppet repositories have
at least one valid job.
Depends-On: Idb3811bae16321717e5e5467fc3c56492ed57520
Change-Id: If0d86b564ea00ff6bbaf7285b50090b54007c4f7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Note that this is the first time openstack-manuals is using this
process. Since 2012, the team only created branches. Since
openstack-manuals now uses reno, let's branch and tag together.
We use 15.0.0 as release number since Ocata is the fifteenth release of
OpenStack.
Note that openstack-manuals has no release-job, we do not push the
content anywhere, just publish.
Change-Id: I0f92f2bf6c563e9ca71fdfba5e00da73d3a98fc7
Have all of the validation functions take callables to create warnings
and errors. Have those callables print the warning and error messages as
the validation runs, and save a message that includes the filename where
the warning or error was generated so that the summary output at the end
includes the filenames.
Change-Id: I81f0aa50a7b2b7982ccecac558e0dc584945db4f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
nodejs4-publish-to-npm is a Zuul layout template that contains jobs to
publish tarballs for Javascript projects. We want to add this template
support in the list of release jobs types so we can also release
Javascript projects.
Change-Id: I63c06a5cd5ce696ef2446968614ce5bc54096ded
The xstatic release type is only used with a specific release job, so
set up the job validation to look for the expected jobs appropriately.
Change-Id: If55c7efe07eb80f2ab252f2d531dace0f2e57487
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
xstatic packages have an alternate publish job due that verifies
the xstatic metadata matches the git tag. Inlude that as a valid
open.
Change-Id: I60225bdb2ced5b197ce4a3f3fa3b4f1a064b665f
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>
All puppet modules are released via this job, so we need to include it in
the validation, or patches attempting to trigger a release will fail.
Change-Id: I6a5084647f53bab4dcaa62d14b76acd9481361ac
Require teams to use the release job templates to ensure they have all
the right job definitions in place.
This reverts commit ebf3805c3dd773727ff7571d4a3c9e7cc35ef843.
Change-Id: I86415b121e7718d6bce71ac56045e5ff48b63493
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
If a project has a release job specified locally instead of (or in
addition to) using the template, treat the case as a warning.
Change-Id: I9eda72a6c03db1ed582db7fe64e15d78b762dcfd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Some of the things we check in the project_config validation are only
warnings, and should not prevent us from tagging a release.
Change-Id: I213bd8ce212d2bf632d0a3c1bf7474488137bfda
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Look for both release job templates being used on the same project.
Change-Id: I53de6aad1a9e11bcd6389c745e9921930d6b710b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Require one of the two templates we use for publishing python project
artifacts. We can extend the list of validation rules later when we
support more artifact types.
Change-Id: I1bed908f5643a821740d564a0af3305fcc413fcd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>