-
Notifications
You must be signed in to change notification settings - Fork 6
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
Install test #64
Install test #64
Conversation
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.
Based on our previous discussion, testing the installation of KokkosFFT should be done in a different job:
install:
# same `needs` and `if` as the `build` job.
# the `strategy` may be similar, without testing host-device configuration (i.e. drop
# the `target` matrix), and maybe without some configurations (i.e. no threads and
# serial?)
The content of the files as_subdirectory.sh
and as_library.sh
should appear within the test as maybe two separate steps. Having script files lying around in the source tree that are only used for CI is not a good thing. Instead of re-downloading Kokkos, I think we can re-use the one in /tpls
by copying it (which makes it consistent with the build tests).
I don't like the idea to duplicate the install test file, but I think it's better to keep two separate directories for the library and the subdirectory approaches, as they require different CMakeLists.txt
files. Maybe just reduce the test file to its simplest expression.
@pzehner Thanks for the comments
That makes sense. I will update accordingly.
Do you mean we should modify each add_executable(hello-kokkos-fft ../src/hello.cpp) |
We would end up with the following layout:
Which is not very common. It's up to you I guess. |
I may prefer self-contained examples like
Using slightly different examples. Is it fine with you? |
Ideally, the two jobs should remain separated. The `install` job would use almost the same `matrix` (minus `target`) as the `build` job and have the same `needs` and `if` as the `test` job. This would however make a duplicated and error-prone `matrix` for the two jobs, and sharing a `matrix` between jobs is currently not possible with GitHub Actions (neither directly, nor using YAML anchors, other options were too cumbersome when writing this). Consequently, for the sake of maintainability, the two jobs are merged for now.
Resolves #43
Resolves #66
This PR aims at recovering CI for using KokkosFFT as subdirectory or library.