cylc / cylc-admin

Project planning for the Cylc Workflow Engine.
https://cylc.github.io/cylc-admin/
GNU General Public License v3.0
5 stars 13 forks source link

Nightly Development Builds #33

Open oliver-sanders opened 5 years ago

oliver-sanders commented 5 years ago

[as discussed at Exeter meetup June 2019]

Now that we have separated Cylc components into multiple repositories we need to do periodic (e.g. nightly) builds to ensure compatibility is maintained.

This should be done on an umbrella repository (i.e. this one), the test battery could compose of a limited subset of tests from each component along with some purpose written integration tests.

kinow commented 4 years ago

JupyterHub does something similar to what you suggested I think, but in the same project. It has a dependency on traitlets, a project that is also part of the Jupyter org.

They test JupyterHub against the PYPI version of traitlets, and also have an extra job to test the traitlets master branch.

https://github.com/jupyterhub/jupyterhub/blob/f3c3225124f1c5d9acb2503ec4d9c35a140f6a78/.travis.yml#L41

They use an environment variable, to have an extra job that validates the master branch. We could have something like this in Cylc Flow for isodatetime (maybe allowed_failures=True), and also for cylc-uiserver for cylc, and cylc-doc, sphinx-extensions, etc.

Just in case it gets too hard to have a separate project in cylc-admin for running these tests :+1: (I don't have a preference, just thought worth mentioning what I found in JHub)

oliver-sanders commented 2 years ago

Idea for end-to-end testing:

Good for testing mutations, interactions, etc. Would probably require one workflow per test, may be able to perform the setup/teardown within the Cypress test spec.