This will help assess whether changes to the lib's hacking
incubating factory will break consumer projects.
Change-Id: I9bb173071abcbc5078a3fd728c41c34bf1b83ca2
python-pankoclient naturally support the plugin for OpenStackClient when
it was born, so add this job.
Change-Id: I9d7b9683c0525701b215e7f825afe248d66efffa
As per OpenStack licensing guide lines [1]:
[H102 H103] Newly contributed Source Code should be licensed under
the Apache 2.0 license.
[H104] Files with no code shouldn't contain any license header nor
comments, and must be left completely empty.
[1] http://docs.openstack.org/developer/hacking/#openstack-licensing
Change-Id: Iabfc781800f080b8235a2d812d16bdb3ee57067a
Revert change that checked only .po$ files, as this
caused a 'file not found' error for sphinxmark
generated PNG files.
We really need to remove build artefacts, so handle the different types
of files extra.
Change-Id: I1a395af3476adcd74e2dff0ffc6520a18c72395a
JSON translation files do not contain the "msgid" string and are
currently being removed during commit filtering. This runs a different
check for JSON files, ensuring it contains string keys.
Change-Id: Ic5e628beb7301586cc1a4dbe441b187989ca68b4
The translation proposal job for tripleo-ui is currently failing due to
errors in po files under the node_modules directory. However
'node_modules' is only used by nodejs in order to store dependencies,
it doesn't need to be traversed and should be blacklisted.
Change-Id: Ibec1521ce222b559ddb84f61c7589bc1400c1521
Even after increasing the build-time to 180 minutes with
Idc1d53d1e73b4a9eb13f258f4a4d5627ec3cf300 it's not enough to avoid
timeouts. I did a manual run and it took 214 minutes on the centos
builder.
We can parallelise builds. The "parallel" program provides us with
plenty of useful help in this regard. As described in the comments,
this will run ncpu jobs (4 on our builders) and capture and store the
logs for each individual job. A test run on the centos build host was
reduced to ~1 hour.
The job output is particularly handy because we can do a little work
to make an easy-to-parse failure log. This job is a little weird
because failures aren't hard -- we can still release everything we did
manage to build. Initially this overview log file will enable a 3rd
party monitor that can alert interested people when failing builds
occur.
We store the build logs as a .tar.bz2 bundle as described, but the
smaller files are copied directly.
Change-Id: Ifec15f71cc3530d47da4f3304d3fe094d77e0980
Depends-On: I9635721a4f8d718ad402d23600840f091267952c
The actual work is done by a function that is called from
make_branch.sh, but that script can't be reused if there's an
issue. This provides a tool for making the updates by hand and also
serves as a way to test changes to the underlying function.
Change-Id: I54b65c3ab9d44e12b4db6c2bbf2f29bcd0488b6b
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
With more projects using tox_install.sh, fewer match the pattern
starting with "-c" that was being passed directly to pip. Remove that
part of the pattern and rely on just matching the {env:...} syntax that
tox uses to pass values to arbitrary commands.
For an example of a project where the old version of the script failed
but this change worked, see Iffd79e8d267142579f71248e8b78ecb59f07d522
Change-Id: Idc25df0100153c324674f6d60fe5cfceaea59d54
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Change Ibc4abb0ba18673791634d79c4970be965f9774e6 dropped the "pip
wheel ..." bit of this, leading to syntax errors.
Change-Id: I70ae19cc974a8c34ad9ff380fee5adbb17c96ff4
A failure on the requirements job currently uses a custom
failure-message. The problem is that this custom message doesn't
match the gerrit magic for extracting failures and showing them in the
"Jenkins check" box.
This means that jenkins votes -1, but you don't see any failures
unless you go and click the "toggle ci" button. This leads to
confusion and people rechecking unnecessarily.
The message doesn't seem particlarly important; the linked page is
just the regular documentation and isn't exactly a trouble-shooting
guide. Thus move the message and link into the job output so this job
remains consistent. The message stays similar but without the link so
it matches.
Change-Id: I2af14c7993e097178c4cc7ee894804c005148523
In trying to add constraints support to os-api-ref we hit a case where
installing os-api-ref with this script will also update requirements.
If a requirement isn't blocked in thw gate *or* os-api-ref hasn't merged the
proposal-bit's update this can lead to failures.
This change addresses that by installing openstack-requirements and
removing os-api-ref from upper-constraints.txt. Then when it installs
os-api-ref the version from git is appropriate BUT all requirements are
also constrained.
Note: This assumes running in the gate and that the git setup has copied
the upper-constraints.txt into a local file and set the
UPPER_CONSTRAINTS_FILE appropriately. The new commands will fail and
cause job failures if these pre-conditions are not met.
Change-Id: Ic9b49dbd2b9b8c991fa6d21545460ce015bcc320
Needed-By: I7ad1c2afda29b095ff3d53db5eec7101f8816c2e
The release scripts had been assuming that a valid gerrit user was
always configured already, but this is not necessarily the case on all
nodes. Now that the constraint update job has moved to the proposal
nodes, we need to make the cloner code try to configure the gerrit user
if "git review -s" fails. We can't always take that step because it
would result in using the wrong user on the signing node and when users
run the scripts by hand (as we still do frequently to recover from
failures).
Change-Id: Ife8108f0bff4be9ab63befc5eff4289be78316f7
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
A few things
- failing to get the requirements file should fail the job, so remove
skip there.
- go through the requirements one-by-one so we can make an easily
greppable entry in the logs for failed builds.
- turn off verbose to make the console log managable (it's up around
15mb) but save detailed output to a workspace log-file for failures
(see previous point). Requires small fix to pip [1] for --log
behaviour.
[1] https://github.com/pypa/pip/pull/3586
Change-Id: Ibc4abb0ba18673791634d79c4970be965f9774e6
We have a race condition in the jobs for patches to
openstack/requirements submitted by the release jobs because the
packages are not yet on PyPI when the patch is proposed to update the
constraints file. This change moves the constraint update portion of the
release job to a separate job and schedules it to run as a dependency of
the PyPI upload job.
Change-Id: Idce73ca3813858050e8f64ece44e838266aaf5d6
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This script is based on the existing steps in release.sh for updating
the constraints list after releasing one of our Python projects. It's
placed in its own commit so it is available on the release nodes when
the new job in the following commit is merged.
Change-Id: Ie3e6d0e3501fa0cba251e000430bd0740a2bd331
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
python-troveclient now provides a plugin for OpenStackClient
This adds the job mentioned in the osc plugin documentation [1].
[1] http://docs.openstack.org/developer/python-openstackclient/plugins.html
Depends-On: I308a6c6f3f5ce7dbb814ec0fd8ecb1734a2f137f
Change-Id: I3b300730eff27b5aca1bf0ba304d681c97024166
Use master branch of osprofiler, pycadf and stevedore to test before
releasing new version of them.
Change-Id: I6234ed763c5904803db04150373c36df54010880
When we were tagging releases by hand, sometimes the tag was applied
before any of the other processing was done. Now that all cycle-based
projects are using the release automation, we can skip updating
launchpad and the requirements repo if a release already exists.
Change-Id: I7c4a2c51dcba073b5b6d29ddf58fff1cb3f11055
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
All *.po files in locale/ subdirectories are needed to added
by git without *.pot files in locale/ directory.
Change-Id: I5b76cfe3a4583199d49dff4a567b678d9e8e1534
python-cloudkittyclient now provides a plugin for OpenStackClient.
This adds the jobs mentionned in the osc plugin documentation
Change-Id: I77c0dfa98096fd7dde053e20018d5071c177ec13
This job is not used at all, remove it - especially since we do not want
these kind of proposal jobs anymore.
Remoe also the script that it uses.
Change-Id: I9a4d234a2a6399fdfbf82c6ddeeeb9728d4dae3f
There's now an updated page for the automatic imports, link to it.
Change-Id: Ided23d0fceae86f7bc908ae0ceac63fbbffacac7
Depends-On: I9b59e154d970a5667aee64e23e71ca3677c0026b
It is better not to manage pot files by git,
since pot files are not managed by git any more
and stored into http://tarballs.openstack.org/translation-source/
Update some comments as well.
Change-Id: I50c6ee66e676207421c475ca259d33f9a395130d
We want to allow deliverable files with project metadata but without any
releases. Update the script for detecting changes in deliverable files
to skip those files.
Change-Id: I7039b8344caaa053ae29913699fa8467283722ba
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The two scripts do the same, just have one different parameter. Use a
single script and rename it.
The scripts are included directly in yaml and do not life anymore in the
scripts directory so that changes to them will be directly and don't
need new images to be built.
Change-Id: Ia229b118daabb1f43da1507a37a4fd3724c2512a
The previous commit added a new script for creating branches
automatically. This script that was being used by hand is no longer
needed.
Change-Id: I9bb644e674dad6b69a81623a41a487550917e629
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Rather than creating a new job and then forcing it to run after the
tag-releases job, go ahead and use the existing job and just add the new
step.
Change-Id: I7c481784e8c8137acbd522c654d0fa21e3fe4e0e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Builder added:
- mount-xfs-tmp-space: takes a path, creates a 1G file there,
and loopback-mounts it to a passed in path
- tox-with-tmpdir-passed-in: a copy of the tox job, but with an
extra {new_tmpdir_loc} value passed in and TMPDIR set
projects.yaml changes (for swift):
- replaced 'gate-{name}-tox-{envlist}-{node}' for
'gate-{name}-tox-xfs-tmp-{envlist}-{node}' and placed
'py27' and 'py34' envlist entries under it
scripts updated:
- run-tox.sh: now only sets TMPDIR if it's currently unset
job-template updates:
- create 'gate-{name}-tox-xfs-tmp-{envlist}-{node}' that is a copy
of 'gate-{name}-tox-{envlist}' but calls 'mount-xfs-tmp-space'
before dropping sudo. Then it calls 'tox-with-tmpdir-passed-in'
instead of 'tox'
zuul/layouy.yaml updates:
- added the "with xfs" tox jobs to swift
Change-Id: I3339de0d57726b339dfc6638d225e49d097f7b63
Instead of having the script that gets ran invalidating the
upper constraints, which is currently causing requests to get
upgraded to a newer version that is busting nova (and possible
glance) periodic jobs just respect the constraints (and remove
the oslo libraries from those constraints) and do not try to
run pip with -U so that more than desired gets upgraded.
This seems to localize the packages that get installed and upgraded
to a smaller set (hopefully causing less package variance issues).
Change-Id: Ice723851e5c8861cc1db0dfee2ea665e8727a8a4
Move the run-deploy-guide.sh file as include file into JJB so that the
script is not baked into our images anymore.
For the deploy guide gate jobs, follow the project install-guide setup
on adding these.
Change-Id: Ibffee0b4b356968029590c8e3abd672f0e082e69