summaryrefslogtreecommitdiff
path: root/.zuul.yaml
Commit message (Collapse)AuthorAgeFilesLines
* Only check bwrap execution under the executorHEADmasterClark Boylan2023-05-171-3/+3
| | | | | | | | | | | | | | | | | | | | | The reason for this is that containers for zuul services need to run privileged in order to successfully run bwrap. We currently only expect users to run the executor as privilged and the new bwrap execution checks have broken other services as a result. (Other services load the bwrap system bceause it is a normal zuul driver and all drivers are loaded by all services). This works around this by add a check_bwrap flag to connection setup and only setting it to true on the executor. A better longer term followup fixup would be to only instantiate the bwrap driver on the executor in the first place. This can probably be accomplished by overriding the ZuulApp configure_connections method in the executor and dropping bwrap creation in ZuulApp. Temporarily stop running the quick-start job since it's apparently not using speculative images. Change-Id: Ibadac0450e2879ef1ccc4b308ebd65de6e5a75ab
* Add container creation detailsClark Boylan2023-04-281-0/+18
| | | | | | | This adds extra bits of info that the ensure-quay-repo role expects to be present. Change-Id: I581c667515b5ee2eec4ee79e9f2b485247711195
* Publish container images to quay.ioJames E. Blair2023-04-211-34/+55
| | | | Change-Id: I142c99a5469fd5af5e558619cd9a4acc400221ff
* Switch to nox-docsJames E. Blair2022-12-201-4/+4
| | | | | Depends-On: https://review.opendev.org/868228 Change-Id: I95dd6f751bd3d64a146ed32ec660e48dbe473d81
* Add noxfile and switch to noxJames E. Blair2022-12-201-34/+51
| | | | | | | | | | | | | | Tox v4 behaves significantly differently than v3, and some of the more complex things we do with tox would need an overhaul to continue to use it. Meanwhile, nox is much simpler and more flexible, so let's try using it. This adds a noxfile which should be equivalent to our tox.ini file. We still need to update the docs build (which involves changes to base jobs) before we can completely remove tox. Depends-On: https://review.opendev.org/868134 Change-Id: Ibebb0988d2702d310e46c437e58917db3f091382
* Pin tox to 3James E. Blair2022-12-151-0/+1
| | | | | | | There are many issues with toxv4 that make it difficult to use with Zuul. Pin to tox version 3 while we find a solution. Change-Id: I608b2ad4ab9407d8a0b77d5def5188922875e00f
* Add Python 3.11 testingClark Boylan2022-10-271-12/+12
| | | | | | | | | | This adds python 3.11 testing and drops python3.10 in order to keep testing only the bounds of what Zuul supports. Note that currently the python 3.11 available for jammy is based on an RC release. This should be fine as we do functional testing with a released python 3.11 and that is what people will consume via the docker images. Change-Id: Ic5ecf2e23b250d3dbf592983b17ec715d6e9722e
* Remove Ansible 5James E. Blair2022-10-111-8/+0
| | | | Change-Id: Icd8c33dfe1c8ffd21a717a1a94f1783c244a6b82
* Remove support for Ansible 2James E. Blair2022-09-141-19/+0
| | | | | | Versions 2.8 and 2.9 are no longer supported by the Ansible project. Change-Id: I888ddcbecadd56ced83a27ae5a6e70377dc3bf8c
* Add Ansible 6James E. Blair2022-09-021-0/+8
| | | | Change-Id: I0d450d9385b9aaab22d2d87fb47798bf56525f50
* Add zuul change queueJames E. Blair2022-08-161-0/+4
| | | | | | So that we can add zuul-client to it. Change-Id: Ia99d135fc6016895fe5f85ea93efeccc88f85a80
* Merge "Bump up to python3.10"Zuul2022-07-051-17/+29
|\
| * Bump up to python3.10Clark Boylan2022-07-011-17/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds python3.10 testing on Jammy and switches the docker images to python3.10 from 3.8. We run sudo for postgres with -Hi to avoid non fatal errors when postres' client attempts to write command history to Zuul's homedir (it is running as the postgres user which can't write to zuul's homedir). We also need to update the libffi package version for jammy to 8 in bindep.txt. Finally, python_version values need to be quoted as "3.10" is different than 3.10 which is equivalent to 3.1 when serialized by yaml as a float. Force setuptools to use stdlib (shipped by the distro) distutils to avoid problems with virtualenvs not actually being virtualenvs. Finally we switch the bulk of jobs over to using nodeset: ubuntu-jammy as the default python there is 3.10. Change-Id: I97b90bb7a23c90f108f23dda9fdd0e89f9f4dbca
* | Increase unit test timeout to 2 hoursJames E. Blair2022-05-251-2/+2
|/ | | | | | | | | We're currently occasionally bumping into our limit of 90m and it's starting to be a problem as we incrementally add more tests. Increase the timeout to 2 hours. Change-Id: I34a272e6905c4058f9d92751e4a7c2a4fa126fcb
* Add support for Ansible 5James E. Blair2022-04-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for Ansible 5. As mentioned in the reno, only the major version is specified; that corresponds to major.minor in Ansible core, so is approximately equivalent to our current regime. The command module is updated to be based on the current code in ansible core 2.12.4 (corresponding to community 5.6.0). The previous version is un-symlinked and copied to the 2.8 and 2.8 directories for easy deletion as they age out. The new command module has corrected a code path we used to test that the zuul_stream module handles python exceptions in modules, so instead we now take advantage of the ability to load playbook-adjacent modules to add a test fixture module that always raises an exception. The zuul stream functional test validation is adjusted to match the new values. Similarly, in test_command in the remote tests, we relied on that behavior, but there is already a test for module exceptions in test_module_exception, so that check is simply removed. Among our Ansible version tests, we occasionally had tests which exercised 2.8 but not 2.9 because it is the default and is otherwise tested. This change adds explicit tests for 2.9 even if they are redundant in order to make future Ansible version updates easier and more mechanical (we don't need to remember to add 2.9 later when we change the default). This is our first version of Ansible where the value of job.ansible-version could be interpreted as an integer, so the configloader is updated to handle that possibility transparently, as it already does for floating point values. Change-Id: I694b979077d7944b4b365dbd8c72aba3f9807329
* Update testing to Python 3.8 and 3.9James E. Blair2022-04-141-9/+8
| | | | | | | Python 3.6 is EOL and Ansible 5 does not support it. Bump our testing to 3.8 + 3.9 to match Nodepool. Change-Id: Ica6094c05afb87cd5bbc8752c6362d89c13eca0a
* Remove built-in ARA supportJames E. Blair2022-04-131-1/+0
| | | | | | | | | | | | | | | | This has been pinned to a very old version of ARA for some time, and newer versions of Ansible are no longer compatible with the old version of ARA. Since this isn't receiving maintenance keeping it up to date, remove it. Note that if there is desire for support for this or other callback plugins, it would be quite reasonable and relatively straightforward to add the ability to generically configure additional callback plugins. This would have the advantage of not requiring tight internal integration between Zuul and other callback plugins. Such a change would likely be welcome. Change-Id: I733e48127f2b1cf7d2d52153844098163e48bae8
* Update nodejs runtime to version 16Clark Boylan2022-03-141-1/+1
| | | | | | | | | | | | | We had been using version 14 which is the previous LTS. Now there are problems running: npx browserslist@latest --update-db running out of memory. Update to the current nodejs LTS version to ensure we are running an up to date runtime that hopefully performs more consistently with the browserslist command. Change-Id: Ib20c1090ea0f30b7dac2780b6ed963dd6e4b6f77
* nodepool-zuul-functional: removeIan Wienand2022-01-281-2/+0
| | | | | | | | | | | | | | This job has been broken for a long time, and the paths it tests are better covered by the quickstart tests which bring up nodepool with Zuul. It's a bit of an odd job because nodepool sets itself up, but then the test calls the tox "nodepool" environment in Zuul here. So remove the job inclusion, but also the tox/unit-tests being run by the job (it's already failing and non-voting on nodepool, so this won't affect things). Change-Id: I8483b1d66a6a58d4bd2f2fce82b023d8f0446ae7
* Merge "Bump test nodes up to Focal"Zuul2022-01-261-5/+9
|\
| * Bump test nodes up to FocalClark Boylan2022-01-251-5/+9
| | | | | | | | | | | | | | | | | | | | | | We were running on Bionic because Zuul's inclusion of a pinned Gear conflicted with TLS policy on Focal. With Gear gone we can bump up to Focal safely now. Followup changes can bump testing platforms ahead to 3.9 or newer as well. Change-Id: I4cfef79ebc97753994edaf36a1deca0d3b37ad17
* | Revert "Don't run non-docs jobs on docs changes"James E. Blair2022-01-201-17/+0
|/ | | | | | | | | This reverts commit 23dc6198383860c4ffc0e09d0f04bf8cc1912b01. The immediate need to rebuild docs quickly has passed, we can return to our regular config now. Change-Id: I2896b2517cacfbc553add3ca34066db96df551a9
* Don't run non-docs jobs on docs changesJames E. Blair2022-01-201-0/+17
| | | | | | | This is a temporary change to avoid running a bunch of jobs for docs-only changes so we can iterate on doc changes quickly. Change-Id: I2e700fe1fcd631f7095d95fcfc9b57685ae3cd70
* Merge "Add nonvoting multischeduler job"Zuul2021-12-011-0/+9
|\
| * Add nonvoting multischeduler jobClark Boylan2021-11-301-0/+9
| | | | | | | | | | | | | | | | | | This adds a nonvoting python38 tox unittest job that runs with ZUUL_SCHEDULER_COUNT set to 2. We do this despite knowing the job will probably fail so that we can start getting this consistent feedback on changes in pre merge testing. Change-Id: I08fac586a1a7140433f225988e490a1054cc69dd
* | Merge "Remove success-url and failure-url"Zuul2021-11-301-5/+0
|\ \ | |/ |/|
| * Remove success-url and failure-urlJames E. Blair2021-07-291-5/+0
| | | | | | | | | | | | These options are deprecated and ignored by Zuul. Change-Id: Ie0fd1895f61ea3d83db9d5a7b5e1c68781388d53
* | CI image requires consistency cleanupClark Boylan2021-10-251-4/+4
|/ | | | | | | We build the docker images on bullseye not buster so we should set the job requires values to bullseye specific artificats. Change-Id: Ic29d9053524777b39aea436b7d5b9cee0296bd85
* Increase unit test job timeout to 90 minutesJames E. Blair2021-06-241-2/+2
| | | | | | | | In one particular cloud region, we reliably get nodes slower than others, and appear to just barely timeout the job. Increase the timeout to 90 minutes to give us more room. Change-Id: I3dc2a60037a9bdf20694d2811a9570ebe4f2f600
* Only promote zuul-build-dashboard when it's builtAlbin Vass2021-03-231-1/+2
| | | | Change-Id: I7aadaf5337ea0dfd3db96df77dc33f9ed854be48
* Use ZooKeeper TLS in testsJames E. Blair2021-03-081-30/+62
| | | | | | | | This mirrors the configuration in Nodepool for using TLS-enabled ZooKeeper in tests. We use the ensure-zookeeper role in order to get a newer ZooKeeper than is supplied in bionic. Change-Id: I14413fccbc9a6a7a75b6233d667e2a1d2856d894
* Remove zuul-migrateJames E. Blair2021-02-171-12/+0
| | | | | | | | | This was intended as a one-time helper program to help people upgrade from Zuul v2 to v3. It did not cover all use cases, and has not been kept up to date or improved. It's time to remove it before the v4 release. Change-Id: I12cdcedb5baabd8fa0937a6ea21590259093ead1
* Prepare Zookeeper for scale-out schedulerJan Kubovy2021-02-151-0/+2
| | | | | | | | | | | | | | | | | | This change is a common root for other Zookeeper related changed regarding scale-out-scheduler. Zookeeper becoming a central component requires to increase "maxClientCnxns". Since the ZooKeeper class is expected to grow significantly (ZooKeeper is becoming a central part of Zuul) a split of the ZooKeeper class (zk.py) into zk module is done here to avoid the current god-class. Also the zookeeper log is copied to the "zuul_output_dir". Change-Id: I714c06052b5e17269a6964892ad53b48cf65db19 Story: 2007192
* tutorial: Rework quick-start and prepare for other tutorialsGuillaume Chauvel2021-01-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | -quick-start steps are modified and fit more to what a reader would do -quick-start test code is mainly splitted into 2 files, one which is a setup part as a role, the second one starts with cloning the test repository, just like all followings tutorial will do -some elementary steps when manipulating or checking gerrit are being added as roles tutorial ssh config: test ssh configuration has been modified to allow using a known_hosts file for both someone executing localtest and opendev.org's zuul. A reader executing the tutorial would still have to accept the fingerprint. To do so, commit-msg hook is fetched manually, otherwise it would be downloaded by git-review throught scp. Alas, git-review doesn't allow to pass options to scp to provide a new known_hosts file. User's ssh key is used if ~/.ssh/id_rsa.pub is available, otherwise use a generated one. - "to_json | from_json | json_query" in test is due to an issue between ansible and jmespath [1] [1] https://github.com/ansible-collections/community.general/issues/320 Change-Id: Id5c669537ff5afc7468352139980ebade167d534
* Revert "Revert "Update images to use python 3.8""James E. Blair2020-10-011-4/+4
| | | | | | | | | This reverts commit fe58e85bb1af47ca90025cfe76f68210263945b1. We resolved the twine issue with https://review.opendev.org/#/c/755670/ Depends-On: https://review.opendev.org/#/c/755670/ Change-Id: Iab73cf93dd7556609f7bddb13ab06ac7ab879d6b
* Revert "Update images to use python 3.8"Tobias Henkel2020-10-011-4/+4
| | | | | | | | | This breaks ensure-twine in opendev which is currently incompatible with py38. This reverts commit 429d73e93d83c556166a787ccedd4682a436637e. Change-Id: I983b871d6b42b6d190bc055b57ba0a5f1a4618c0
* Merge "Add zuul-client-zuul-functional job"Zuul2020-10-011-0/+2
|\
| * Add zuul-client-zuul-functional jobMatthieu Huin2020-10-011-0/+2
| | | | | | | | | | | | | | Test the integration with zuul-client when testing changes on zuul. Change-Id: I5bf73246497e1b9d7b2d3a8cf72f78c9ddc8f7f7 Depends-On: https://review.opendev.org/751264
* | Merge "javascript: publish artifact tarball"Zuul2020-10-011-1/+1
|\ \ | |/ |/|
| * javascript: publish artifact tarballIan Wienand2020-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The javascript publishing has been broken for some time (first depends-on). However, when it was working, this job will extract the javascript tarball artifact into the destination directory. This has at least two problems; it is extracting into the same directory as the main build .tar.gz/.whl files (so you can't see them), and it also has no sense of the stable branch which will just overwrite depending on whatever ran last. It doesn't feel like we need to extract the site any more. This job should just copy the javascript artifact tarball and publish that. Depends-On: https://review.opendev.org/754230 Depends-On: https://review.opendev.org/754241 Change-Id: I6ef8344fa79f33ae1d8dd59c7db307bd45f1c472
* | Merge "Update images to use python 3.8"Zuul2020-09-291-4/+4
|\ \
| * | Update images to use python 3.8Tobias Henkel2020-09-251-4/+4
| |/ | | | | | | | | | | | | | | After dropping support of Ansible 2.7 which has compatibility issues with python 3.8 we now can finally upgrade to Python 3.8 which has improvements regarding performance and memory usage. Change-Id: I346c2fe22f8409c600a3ee2a229369778e3cabd6
* | Use bionic images for zuul-stream-functional testsTobias Henkel2020-09-231-3/+3
| | | | | | | | | | | | | | Zuul now requires at least python 3.6 so use the bionic image for the zuul-stream-functional tests as well. Change-Id: Iba47cd9733e97fba5b0471fdcfc69588f03f85d9
* | Remove zuul-stream-functional-2.7Tobias Henkel2020-09-231-9/+0
|/ | | | | | | We have removed support for Ansible 2.7 so we should remove the zuul-stream-functional-2.7 job as well. Change-Id: If6657c8392ab55052a2fd9981e5d333c254dfbae
* Merge "Drop support for ansible 2.7"Zuul2020-09-211-2/+0
|\
| * Drop support for ansible 2.7Tobias Henkel2020-09-041-2/+0
| | | | | | | | | | | | | | | | | | Ansible 2.7 is in security fix only maintenance mode since quite some time and will be end of life soon. It further blocks upgrade of zuul to Python 2.8 due to incompatibilities. Thus drop support. Change-Id: I13802db3314450ad149fdadacd1e2e70dd8468ef Depends-On: https://review.opendev.org/727345
* | Drop support for python 3.5Tobias Henkel2020-09-041-4/+4
|/ | | | | | | | There are now increasing numbers of dependencies like cryptocraphy that will drop support for Python 3.5 soon. Thus we should consider dropping the support for Python 3.5 as well. Change-Id: I830ec3e97cfaac5d336d02755fe788572f36fb07
* Use npm mirrors in tox jobsTobias Henkel2020-07-281-16/+6
| | | | | | | | | | | | Opendev runs a caching mirror for npm packages. Use it when running yarn install during tox tests. Due to the way yarn.lock files work at the moment we need to patch the lockfile on the fly to inject the mirror urls [1]. This can be handlel inside the pip.sh where we patch the lockfile, run yarn and reset it afterwards. [1] https://github.com/yarnpkg/yarn/issues/2566 Change-Id: Id1f2daac8327f3110e6beeb2d6391baccfd3ce34
* Use project vars for release_pythonJames E. Blair2020-07-231-3/+1
| | | | | | | They are cool and they can help avoid problems like we just saw in nodepool. This updates to match. Change-Id: I3191b8ba7f96151b6b9178f39bf48ededa4a00ee
* Fix dashboard preview after keep file removalTobias Henkel2020-07-091-1/+1
| | | | | | | | | In the dashboard jobs we don't need to generate the html to zuul/web/static. Since this got forgotten during the keep file removal just take the content from the build dir as we don't need to generate it to zuul/web/static for the preview. Change-Id: I271a0ec17f2c620bd8aacab01e193d2d933b139e