-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add new template cylc-dev (and test building in GitHub actions) #1410
Add new template cylc-dev (and test building in GitHub actions) #1410
Conversation
…e-configs' of https://github.com/climbfuji/spack-stack into feature/unpin_update_common_packages
…eature/unpin_update_common_packages
…eature/unpin_update_common_packages
…eature/unpin_update_common_packages
…eature/unpin_update_common_packages
…eature/unpin_update_common_packages
…template, disable cycl variant in skylab-dev template
…eature/unpin_update_common_packages_PLUS_cylc
…nal curl/openssl, use external qt
…shes with the 'require' block below
…eature/unpin_update_common_packages
…l and pin zstd to 1.5.6
….com/climbfuji/spack-stack into feature/unpin_update_common_packages_PLUS_cylc
…eature/unpin_update_common_packages_PLUS_cylc
Note. For ede071b, GitHub actions reports that the tests succeeded, but in fact the build of |
…u self-hosted runner
…eature/unpin_update_common_packages_PLUS_cylc
…ve to spack.yaml directory
080d852
to
3f79cfc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this, based on description I'm still a little puzzled, I thought we were also intending to have a cylc meta module that could be loaded along side of other modules as in our unified dev environment.
I'm approving because this code looks fine and I assume you'll have a good response to my question above.
@@ -111,7 +111,7 @@ jobs: | |||
set +e | |||
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache/ | |||
spack buildcache update-index local-binary || (echo "No valid binary cache found, proceed without" && spack mirror rm local-binary) | |||
set +e | |||
set -e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch here and elsewhere.
# Variant ~mpi not working for latest py-netcdf4 | ||
# https://github.com/spack/spack/issues/47652 | ||
py-netcdf4: | ||
require: '@1.7.1 +mpi' | ||
py-pandas: | ||
require: '+excel' | ||
# To avoid duplicate packages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't the concretizer unify: true
prevent duplication?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will lead to concretization errors if unify: true
is set. Unfortunately, the concretizer isn't perfect, it still has its bugs. But I am happy to move this (numpy and cython) into the cylc-dev template instead of applying it to all environments for now (but new packages that are coming down the road will want the same settings for unified-env/neptune-env, too).
Initially, the idea was to add cylc to the unified-env and other larger environments. But, as we are expanding the use of Python in our environments (more and more packages with complicated dependencies), this is getting harder and harder. Especially |
…ent to use compilers without Cray wrappers for building cylc-env
This is a follow-up for #1410 and provides the necessary information for building and using cylc environments.
Summary
This PR adds a new template
cylc-dev
to build a special environment for runningcylc
. Because of the waycylc
works, this is best accomplished by creating an environment view and then acylc
wrapper that contains the minimum settings necessary to usecylc
from the view'sbin
directory. See cylc/cylc-flow#6532 for more information. Note that the creation of thecylc
wrapper is not part of this PR.Associated changes:
cylc-dev
on the Ubuntu self-hosted runner, excludemeson
from thespack external find
call. Spack found a deprecated version[email protected]
and despite it being deprecated it tried to use it - with the result that theharfbuzz
build failed (needed forcylc-dev
). Letting spack buildmeson
(it picks[email protected]
) solved the problem.+excel
variant frompy-pandas
, which was something thejedi-tools-env
used, but that is no longer needed and that caused build errors (and added several more dependencies).set +e
withset -e
).py-cython@3
and[email protected]
qt
withgcc
(has no effect on pre-configured sites, whereqt
is configured as an external package)Testing
cylc-dev
template withgcc
on Ubuntu)cylc-dev
withgcc
, createdcylc
wrapper, tested flow, gui and NEPTUNE workflow)cylc-dev
withgcc
, createdcylc
wrapper, tested flow, gui)cylc-dev
withgcc
, createdcylc
wrapper, tested flow, gui)Applications affected
None
Systems affected
None
Dependencies
Issue(s) addressed
Resolves #1413
Resolves #1444
Checklist