-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove CYLC_DIR #3162
Remove CYLC_DIR #3162
Conversation
5d14a56
to
739cc30
Compare
739cc30
to
5dc9325
Compare
Note unit and functional tests passed on Travis CI, but the final documentation build didn't run for some reason. Just pushing up a doc change, so will see if it happens again... |
If one of the chunks failed and was kicked, the doc stage is normally cancelled and you have to trigger it manually. |
@kinow - all tests passed again on T-CI (after one kick for #2894 (comment)) ... but it shows as failed and says "build cancelled". Any idea what I've done wrong? (Is it to do with the doc stage being "usually cancelled" as you said above? |
(Note I've just pushed a new commit - the new pkg-resources command needed tweaking - but I expect the same to happen again). |
@hjoliver went to have a look at the build, and the docs stage was marked as cancelled, but one of the chunks had failed due to Then it failed for the second time with So I manually started the docs stage/job and everything passed 🎉 . I wonder if Cheers |
I'm still slightly confused - if the docs build is "normally cancelled", why does it need to get executed after kicking one of the main chunks? (That's new behaviour isn't it? Presumably since adding sphinx doc build to the T-CI config pretty recently?) |
It does seem to have gotten flakier, I've had to kick that chunk a lot lately. Hard to see what about these changes could do that though.
Note the last one! We seem to have negated the effect of @matthewrmshin's change... |
f24d268
to
eba1605
Compare
@oliver-sanders - I think this is finally done. @matthewrmshin still wants a custom site config location, for those that can't access |
Close #3133
Close #3080
Close #3150
Cylc-7 (and earlier) was installed by unpacking a release tarball into an arbitrary location, from which
bin/cylc
automatically set$CYLC_DIR
to allow other scripts to locate modules and other files from the same release (by addinglib/cylc/
to the Python path, and for reading config files, etc.). A release tarball was the whole code base at the release revision, not just the application(s) and Python library. So, for instance, the (non-Python) test battery and many example suites etc. were automatically available to users.Now for cylc-8 we must
pip install
cylc-flow into a Python site-packages library path. Consequently$CYLC_DIR
is no longer a useful concept, and we can only install the application scripts, Python modules, and "package data" into site-packages. Further, package data should be kept to a minimum because it has to be accessed via the Pythonpkg_resources
API (in case the package is installed as compressed archive) - which does not provide easy access to large numbers of files in a directory trees. (Plus site-packages is not really an appropriate place to put loads of files that are not Python modules). So...This PR:
etc
/ content into:etc/
- for developers only (not installed via pip)cylc/flow/etc/
- package data to be installed into the library for users (example config files, syntax files, etc.)cylc get-pkg-resources
for users to list and extract package resources from the installed libraryjob.sh
shell function library before sourcing it in task job scripts (also moved job.sh to the package resources dir, because it is not a Python library module)cylc test-battery
command toetc/bin/run-functional-tests.sh
- because the test battery is not appropriate package data, and is for use by developers anywayetc/examples
(not appropriate as package data), except for the few included in the user guide, which moved todoc/src/suites
. Most of these were very old anyway. Do we need undocumented example suites in a addition to the User Guide?etc/bin/run-functional-tests.sh
now determines$CYLC_REPO_DIR
based on its own location (it is up to the developer to ensure that the right Python environment is activated - i.e. the right installed library is use - that can't be determined automatically since it might not be a co-located virtual environment. (Note the test battery runs out of the repository, not out of the installed library ... but it uses the installed library to run cylc, of course)UPDATE:
(Version number required)
NOTE we still have to work out how to specify cylc location and possible virtual env requirement on remote job hosts (not a problem new to this PR branch however - also on current master).[done]