Adding Dockerfile, devcontainer, CI - #52
Conversation
This is lifted verbatim from eiger-detector
|
@JamesOHeaDLS I ran this module up as a devcontainer in vscode. I could not >cmake: delete build and reconfigure, it has not been set up to understand where odin-data has been installed. Is this expected behaviour ? |
- Previoulsy vscode/settings.json contained this config but wasn't tracked by git - Bumped minimum cmake version for presets compatibility - Added top-level CMakeLists.txt to stop vscode asking which CMakeLists file to use
|
Thanks @ajgdls No that's not expected behaviour. That was hidden from me as I had a .vscode/settings.json file which contained all the cmake config, but that file is not tracked by git! I have now added a CMakePresets.json file to capture that info. Now when you rebuild it may ask you which preset to use. Select the only presented option 'dev'. |
|
Two really minor changes. It now builds correctly as a devcontainer on my system. |
|
@JamesOHeaDLS do you know why the C++ CI failed? |
|
@ajgdls - No, I've been looking into it this morning. The CI from the previous commit worked fine. As there have been no real code changes, I'm thinking its some kind of race condition. It does state it tried to terminate the same frameReceiver process (5827) twice. I don't get any error running the test in podman. Didn't we see something similar with odin-data? |
|
Yeah I think we have been seeing multiple failures of this type. It would definitely appear to be related to multiple instances of the C++ CI kicking off at the same time and some sort of resource conflict. |
Do we intend to fix the CI issue in this PR @JamesOHeaDLS |
|
Hello, @ajgdls and @Ohisemega I have looked into the CI failure a bit more this morning. Re-running the failed job (with no code changes) is successful. For this reason I won't fix this CI issue in this PR, and will make the merge with the code as it stands. However, I have raised an issue against odin-data (odin-detector/odin-data#524) which I believe may address the intermittent CI failure, or at least improve the code base. |
This PR brings in a Dockerfile, devcontainer, and CI to allow a runtime package to be produced which can be deployed on a beamline's k8s node. It also brings this repo's build and packaging setup in line with other detector repos such as eiger-detector and jungfrau-detector.
Summary of changes: