-
-
Notifications
You must be signed in to change notification settings - Fork 16
Overhaul spack CI #89
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
Conversation
Seems to be missing in precice spack package. See https://github.com/precice/python-bindings/runs/2014465956?check_suite_focus=true#step:8:734
…dings into spack-ci-improvements
|
74a5dbf might break the tests, but this should be resolved as soon as the upstream PR spack/spack#22059 arrives here. |
|
Why do we need the local |
|
I usually add add a copy of |
|
@fsimonis I think the idea was to have a CI pipeline that one can run on any branch and not just I personally like(d) the approach using a I am no expert on Spack's |
ajaust
left a comment
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.
i added my reviews. I think its basically the question whether dev-build is better than using the template-generated package.py.
| RUN spack --color=always env create --without-view ci /sources/spack/spack.yaml && \ | ||
| spack --color=always -e ci repo add /sources/spack/repo && \ | ||
| spack --color=always -e ci install --fail-fast --only=dependencies && \ | ||
| spack --color=always clean -a |
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.
I think we have to evaluate here what is better. The approach have specs in the environment or the new one. Why do you create the environment ci using --without-view ci?
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.
I copied this approach from https://github.com/haampie-spack/ci-example/blob/b98a5e8b1fb7e8aec67707a7eced78efa92b0619/tools/docker/build-env.Dockerfile#L7-L12. So I cannot really give a good reason. I'm not sure, if this is really a satisfactory answer, but I'll try to get through the review with it ;)
spack/spack.yaml
Outdated
| @@ -0,0 +1,6 @@ | |||
| spack: | |||
| specs: | |||
| - py-pyprecice@develop | |||
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.
Is there a risk that it will be misinterpreted because @develop might not point to the actual develop branch?
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.
I think for our testing this "misinterpretation" is exactly what we want: dev-build uses the current version of an arbitrary branch as a patch for py-pyprecice@develop. Then we install/use (the patched) py-pyprecice@develop in all our tests. Does this make sense? If yes: @ajaust feel free to mark this as resolved. If no: Let's try to get to a conclusion here. I should probably also document this somewhere...
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.
I removed the spack.yaml in e3371fd. I think this new approach is clearer (I hope it works as expected).
Exactly. I think this is a nice feature, since it allows us to test compatibility of a feature with spack before we merge it into develop. If we take this feature as a "must", then I really prefer the
|
|
Currently the test fails, because |
With |
ajaust
left a comment
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.
Looks good to me know. I assume the dev-build discussion is (somewhat) resolved for the moment.
|
Fwiw, you might also be interested in spack/spack#22115 |
This PR simplifies the spack CI.
package.pyusing--only=dependenciesdev-buildto build the package directly from the branchThanks again @haampie for your talk at SIAM CSE 21! Feel free to add comments or a review to this PR, if you want.