summaryrefslogtreecommitdiff
path: root/TESTING.rst
Commit message (Collapse)AuthorAgeFilesLines
* Update unit test container setup and instructionsJeremy Stanley2022-08-051-18/+14
| | | | | | | | | | | | | | | | | Update the TESTING.rst file to reflect that just installing and starting zookeeperd is no longer sufficient now that we require TLS and auth for the connection, as well as running database servers. Suggest the container-based setup script instead. Also improve that script to allow it to be invoked as a normal user, with root command escalation tool choice (e.g. "sudo") supplied through a ROOTCMD environment variable, so that things created inside the git worktree like the CA don't end up root-owned. Related, the tox-docker plugin previously suggested in the document is no longer a viable option for the same reasons, so clean up the plumbing for it in tox.ini as well. Change-Id: Iac32799425a5bd4b1bdbf56f34a2310241ac4499
* Docs: fix stestr run exampleAntoine Musso2020-01-211-1/+1
| | | | | | | | | | | | | | In TESTING.rst, the `stestr run` incorrectly used `-t` to pass a test filter. The option is common to `stestr` and is used to specify the test path used for unittest discovery. It is already configured in `.stestr.conf`: [DEFAULT] test_path=tests/unit One just has to pass the fully qualified test name as an argument. Change-Id: I8086ba862e5140eb2e1134c96359f1f30032b198
* tox: Integrate tox-dockerStephen Finucane2019-04-031-3/+5
| | | | | | | | | | | | | | This allows us to start a zookeeper instance via docker as part of the standard tox process, avoiding issues like those described in [1]. It's exposed as a separate target, to ensure users can use local installations if necessary. This requires bumping the minimum version of tox to 3.2 so we can make use of the 'requires' config option [2]. [1] https://review.openstack.org/#/c/648399/ [2] https://tox.readthedocs.io/en/latest/config.html#conf-requires Change-Id: Ie848d409533b2a53523cd930299acf21ac10e13c Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* Revert "Revert "web: rewrite interface in react""Tristan Cacqueray2018-10-061-1/+5
| | | | | | This reverts commit 3dba813c643ec8f4b3323c2a09c6aecf8ad4d338. Change-Id: I233797a9b4e3485491c49675da2c2efbdba59449
* Revert "web: rewrite interface in react"James E. Blair2018-09-291-5/+1
| | | | | | | | | | | Revert "Fix publish-openstack-javascript-content" This reverts commit ca199eb9dbb64e25490ee5803e4f18c91f34681d. This reverts commit 1082faae958bffa719ab333c3f5ae9776a8b26d7. This appears to remove the tarball publishing system that we rely on. Change-Id: Id746fb826dfc01b157c5b772adc1d2991ddcd93a
* web: rewrite interface in reactTristan Cacqueray2018-09-271-1/+5
| | | | | | | | | | This change rewrites the web interface using React: http://lists.zuul-ci.org/pipermail/zuul-discuss/2018-August/000528.html Depends-On: https://review.openstack.org/591964 Change-Id: Ic6c33102ac3da69ebd0b8e9c6c8b431d51f3cfd4 Co-Authored-By: Monty Taylor <mordred@inaugust.com> Co-Authored-By: James E. Blair <jeblair@redhat.com>
* Revert "Revert "Switch to stestr""James E. Blair2018-05-171-12/+6
| | | | | | This reverts commit e56801f2e8a04f08813125b05a4ff8c983beddbd. Change-Id: Icbea5ddd744d1fa65a397fb613731315687f9803
* Update test instructionsTobias Henkel2018-04-181-6/+7
| | | | | | | | | We should update the test instructions a bit. This updates the py27 references to py35. Further when running a test in the foreground we need to activate the virtualenv now. Otherwise ansible tests won't work due because the wrong ansible or no ansible at all is found. Change-Id: I96e8a21c93c87cfc1778ae07c54c4a19070a20da
* Revert "Switch to stestr"James E. Blair2018-03-211-11/+16
| | | | | | | | | | There are several differences between this and testr which we need to discuss. Let's wait until after the v3 release so we don't delay it further. This reverts commit 68e02466ce13a5dbc01ada10b2704701544717dd. Change-Id: I873145c15fd88fe752cb987d0892c146c35041d8
* Switch to stestrMonty Taylor2018-03-181-16/+11
| | | | | | | | | | | | | stestr is actively maintained. OpenStack is migrating to stestr, go ahead and follow suit. As part of this, shift the default values for STDOUT capture into the tox.ini file. This preserves the current behavior of tox doing capture and running tests directly not capturing. Remove the depend on python-subunit... stestr takes care of that for us. Change-Id: I90ae343a5db966f74e888bb98aab0bf39dcdd2cb
* Use yarn and webpack to manage zuul-web javascriptMonty Taylor2018-03-041-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | yarn drives package and dependency management. webpack handles bundling, minification and transpiling down to browser-acceptable javascript but allows for more modern javascript like import statements. There are some really neat things in the webpack dev server. CSS changes, for instance, get applied immediately without a refresh. Other things, like the jquery plugin do need a refresh, but it's handled just on a file changing. As a followup, we can also consider turning the majority of the status page into a webpack library that other people can depend on as a mechanism for direct use. Things like that haven't been touched because allowing folks to poke at the existing known status page without too many changes using the tools seems like a good way for people to learn/understand the stack. Move things so that the built content gets put into zuul/web/static so that the built-in static serving from zuul-web will/can serve the files. Update MANIFEST.in so that if npm run build:dist is run before the python setup.py sdist, the built html/javascript content will be included in the source tarball. Add a pbr hook so that if yarn is installed, javascript content will be built before the tarball. Add a zuul job with a success url that contains a source_url pointing to the live v3 data. This adds a framework for verifying that we can serve the web app urls and their dependencies for all of the various ways we want to support folks hosting zuul-web. It includes a very simple reverse proxy server for approximating what we do in openstack to "white label" the Zuul service -- that is, hide the multitenancy aspect and present the single tenant at the site root. We can run similar tests without the proxy to ensure the default, multi-tenant view works as well. Add babel transpiling enabling use of ES6 features ECMAScript6 has a bunch of nice things, like block scoped variables, const, template strings and classes. Babel is a javascript transpiler which webpack can use to allow us to write using modern javascript but the resulting code to still work on older browsers. Use the babel-plugin-angularjs-annotate so that angular's dependency injection doesn't get borked by babel's transpiling things (which causes variables to otherwise be renamed in a way that causes angular to not find them) While we're at it, replace our use of var with let (let is the new block-scoped version of var) and toss in some use of const and template strings for good measure. Add StandardJS eslint config for linting JavaScript Standard Style is a code style similar to pep8/flake8. It's being added here not because of the pep8 part, but because the pyflakes equivalent can catch real errors. This uses the babel-eslint parser since we're using Babel to transpile already. This auto-formats the existing code with: npm run format Rather than using StandardJS directly through the 'standard' package, use the standardjs eslint plugin so that we can ignore the camelCase rule (and any other rule that might emerge in the future) Many of under_score/camelCase were fixed in a previous version of the patch. Since the prevailing zuul style is camelCase methods anyway, those fixes were left. That warning has now been disabled. Other things, such as == vs. === and ensuring template strings are in backticks are fixed. Ignore indentation errors for now - we'll fix them at the end of this stack and then remove the exclusion. Add a 'format' npm run target that will run the eslint command with --fix for ease of fixing reported issues. Add a 'lint' npm run target and a 'lint' environment that runs with linting turned to errors. The next patch makes the lint environment more broadly useful. When we run lint, also run the BundleAnalyzerPlugin and set the success-url to the report. Add an angular controller for status and stream page Wrap the status and stream page construction with an angular controller so that all the javascripts can be bundled in a single file. Building the files locally is wonderful and all, but what we really want is to make a tarball that has the built code so that it can be deployed. Put it in the root source dir so that it can be used with the zuul fetch-javascript-tarball role. Also, replace the custom npm job with the new build-javascript-content job which naturally grabs the content we want. Make a 'main.js' file that imports the other three so that we just have a single bundle. Then, add a 'vendor' entry in the common webpack file and use the CommonsChunkPlugin to extract dependencies into their own bundle. A second CommonsChunkPlugin entry pulls out a little bit of metadata that would otherwise cause the main and vendor chunks to change even with no source change. Then add chunkhash into the filename. This way the files themselves can be aggressively cached. This all follows recommendations from https://webpack.js.org/guides/caching/ https://webpack.js.org/guides/code-splitting/ and https://webpack.js.org/guides/output-management/ Change-Id: I2e1230783fe57f1bc3b7818460463df1e659936b Co-Authored-By: Tristan Cacqueray <tdecacqu@redhat.com> Co-Authored-By: James E. Blair <jeblair@redhat.com>
* Rename zuul-launcher to zuul-executorPaul Belanger2017-03-151-2/+2
| | | | | | | | To avoid confusion with nodepool-launcher, we've decided to rename zuul-launcher to zuul-executor. Change-Id: I7d03cf0f0093400f4ba2e4beb1c92694224a3e8c Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* Merge "Update testing doc to reflect unit subdir move" into feature/zuulv3Jenkins2017-03-031-2/+2
|\
| * Update testing doc to reflect unit subdir moveJesse Keating2017-03-021-2/+2
| | | | | | | | Change-Id: I38babbafee2ba4d3e92481424041e5ff3bd9385c
* | Document needing zookeeper to run testsJesse Keating2017-03-011-0/+10
|/ | | | Change-Id: Idf796844263097ec1543654c3f5a201060b3e4e8
* Support multiple triggersJames E. Blair2013-08-011-0/+13
| | | | | | | | | | | | Add the ability for Zuul to accept inputs from multiple trigger sources simultaneously. Pipelines are associated with exactly one trigger, which must now be named in the configuration file. Co-Authored-By: Monty Taylor <mordred@inaugust.com> Change-Id: Ief2b31a7b8d85d30817f2747c1e2635f71ea24b9
* Use the public gear API to iterate over jobs in the queueJames E. Blair2013-07-291-0/+6
| | | | | | Also, add some more info about testing. Change-Id: I2029a03d2ab017d826b01dc0b802c6e0e0328204
* Add TESTING fileJames E. Blair2013-07-061-0/+73
Change-Id: Ifa3ff45189b794dfb2c29e127599dbe547b57f71 Reviewed-on: https://review.openstack.org/35354 Reviewed-by: Anita Kuno <anteaya@anteaya.info> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins