42 Commits

Author SHA1 Message Date
Tom Barron
19127528b3 replace legacy-manila-publishimage-generic job
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
2019-01-22 05:58:40 -05:00
Andreas Jaeger
c9152cc789 Switch back to publish-to-pypi
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
2018-11-02 19:41:36 +01:00
Doug Hellmann
5fb6f55fd3 stop supporting legacy release jobs
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>
2018-10-05 11:23:15 -04:00
Doug Hellmann
9af60bcb6b look for the standard pypi-python3 job
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>
2018-10-03 12:24:39 -04:00
Lucas Alvares Gomes
a8c6c72360 Fix validations for neutron projects
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
2018-10-03 13:16:21 +01:00
Thierry Carrez
e51f548b18 Add manila-image-elements as release type
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
2018-06-27 18:28:44 +02:00
Doug Hellmann
07068a52f2 fix typo in comment
Change-Id: Ie3b0227a8da8d49b7a5b5b6257efaead25864ccf
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-06-19 09:32:03 -04:00
Doug Hellmann
0c9e8b7f3b support reading zuul settings from within a repo
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>
2018-06-18 16:45:22 -04:00
Doug Hellmann
cf8f068507 support projects that use the python3 variation of the pypi job
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>
2018-06-11 15:38:35 -04:00
Thierry Carrez
af4c0effea Update xstatic publication job name
Since 6f45a58da9 in project-config, xstatic publication
job template is called publish-xstatic-to-pypi instead
of xstatic-publish-jobs.

Change-Id: I85d4f2753e5667fa8a6619efc05e9fba74a6f391
2018-04-04 10:48:21 +02:00
Doug Hellmann
3fbfb9a697 pull zuul and team data from the validation context
Change-Id: If77e5b125d8cde0b1eb0b3fa4c404b45c170f42d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-07 10:49:05 -05:00
Doug Hellmann
5e863df520 fix require_release_jobs_for_repo use of messages object
Change-Id: I9a701fb6d57943f701d81c6d5203590ce003ec32
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-03-06 10:23:12 -05:00
Doug Hellmann
fcebb14933 use deliverable model object to validate the release type
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>
2018-03-06 10:23:12 -05:00
Emilien Macchi
c82e763efe project_config: add nodejs8 support
nodejs8 support was added to project-config and some projects like
tripleo-ui use it now.

Change-Id: I0908cf37de106543911ed2d741c53ef11abf66cc
2018-01-24 22:46:59 -08:00
Doug Hellmann
605dd721d7 allow server projects to be published to pypi by default
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>
2017-11-17 11:23:36 -05:00
Doug Hellmann
1016065aa6 rename python-server to python-service
The deliverable type value is 'service', so let's use that for
consistency

Change-Id: I7118b6737800921b72ab4637fe614de29167f0fa
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-26 17:09:49 -04:00
Doug Hellmann
9dbb30dce1 provide separate release types for server and non-server deliverables
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>
2017-10-26 11:53:13 -04:00
Doug Hellmann
a4dfa9a10a add explicit release types for neutron and horizon plugins
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>
2017-10-25 18:02:38 -04:00
YAMAMOTO Takashi
c2aea98ea7 Add variants of publish-to-pypi jobs
Change-Id: Ia224a535ab127f3ab409c982ff4b7ab56280b11a
2017-10-25 16:40:59 +00:00
Doug Hellmann
32f0c94fd5 remove obsolete release job name
Change-Id: I97a0e69b3d731af3436f16775362e3b6ef62e2fc
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-10-25 13:49:18 +00:00
Matt Riedemann
749f831201 Add release-openstack-server to zuulv3 std validate jobs
The openstack-server-release-jobs job was renamed to
release-openstack-server in zuulv3 so we need to handle
both.

Change-Id: I10bbc40e24d4588a1f476ce27f126aaa3e17b28a
2017-10-23 12:11:17 -04:00
Doug Hellmann
9a49ded73f make release job validation based on project type
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>
2017-10-23 09:57:38 -04:00
Doug Hellmann
5fd00baa37 improve error reporting for misconfigured release jobs
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>
2017-10-19 10:43:21 -04:00
Doug Hellmann
f066967e8d update release job validation for zuulv3
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>
2017-10-19 10:43:17 -04:00
Doug Hellmann
ee1fc3d892 use yamlutils.loads() everywhere instead of yaml.safe_load()
Also set the encoding for the data files in more open() calls.

Change-Id: Idda3a7ab46e5478f83541fbbb629d7e086515ffd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-08-01 17:50:37 -04:00
Doug Hellmann
23a582da77 add puppet-release-jobs as a supported release job
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>
2017-05-24 14:44:50 -04:00
Maria Zlatkova
ca3a66df89 Create stable/ocata branch for openstack-manuals
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
2017-03-24 11:56:49 +02:00
Emilien Macchi
2e27ae6656 Add nodejs6-publish-to-npm to _RELEASE_JOBS_FOR_TYPE
Add nodejs6-publish-to-npm since it's release job, part of what runs
projects like triplo-ui.

Change-Id: Ifd2102f845fccced2dc7a42f16240fa293a4d842
2017-02-15 16:57:57 -05:00
Doug Hellmann
5fc5838791 make warning and error handling more consistent
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>
2016-11-28 12:47:09 +11:00
Doug Hellmann
6b84339630 add a separate release type for fuel
Change-Id: Idde4b1acc5ac36dc216e2f31b1e94714ba260211
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-10-13 20:10:48 +00:00
Emilien Macchi
729b168d86 project_config.py: add nodejs4-publish-to-npm support
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
2016-09-01 16:51:03 +00:00
Doug Hellmann
8d81525d40 validate release jobs based on release type
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>
2016-07-21 14:05:24 -04:00
Tony Breeds
c54450bcd3 Include xstatic-publish-jobs as one of the valid publish jobs
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
2016-06-24 14:23:28 +10:00
Doug Hellmann
50d792175d add a "retired" flag for repositories
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>
2016-06-09 14:17:51 -04:00
Doug Hellmann
33313ff757 provide a way to turn off the build-job validation check
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>
2016-06-06 13:12:21 -04:00
Steven Hardy
86d19ed74f Add puppet-tarball-jobs to validation for release_jobs
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
2016-05-06 12:41:07 +01:00
Doug Hellmann
05039748a9 Revert "treat individual release jobs as warnings"
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>
2016-04-07 01:29:44 -04:00
Doug Hellmann
ebf3805c3d treat individual release jobs as warnings
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>
2016-04-06 18:58:55 -04:00
Doug Hellmann
8f206f7b1b use a global for the zuul layout path file name
Change-Id: Ie86661141eac9e7618389de60224cf24839e2771
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-04-06 18:58:33 -04:00
Doug Hellmann
09cc7b2392 support warnings from project_config validation
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>
2016-04-06 18:47:44 -04:00
Doug Hellmann
928b376eed extend release job validation for duplicates
Look for both release job templates being used on the same project.

Change-Id: I53de6aad1a9e11bcd6389c745e9921930d6b710b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2016-04-01 09:46:29 -04:00
Doug Hellmann
434465e2f8 add validation for release job definitions
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>
2016-04-01 09:41:08 -04:00