-
Notifications
You must be signed in to change notification settings - Fork 14
[CI] Reproducibility of test failure #351
Comments
Agree, at least difference in a way we run build in CI and the one described here - https://github.com/intel-ai/hdk#build - bothers me as well |
Is there a specific failure that has been hard to reproduce? Other than the conda-forge build problems or differences in packages across the CI environments we currently test in, I have not experienced a failure that can be linked to build differences between my environment and the CI. |
Currently docker build looks difficult to work with, as for me. But this issue can be resolved with docker.io that already in todo list. So let's don't count them. My point is that there are a lot of hidden environment variable changes, so there are a lot of places where you have to look for the missing configuration in case of failure. I will share build examples when I run into issues like this. You currently have several points in code, that changing environment, you pointing out, that you have not faced issues. Does it mean that have multiple places to setup env is fine? |
One of the mystic failures, that was fixed for unknown reason:
|
PR #369 increases reproducibility as soon as it possible to pull docker image (cuda/l0) from https://hub.docker.com/r/dataved/build.cuda/tags . |
Developer build and workflow differs from ci one a lot.
e.g. build.yml uses to (after conda set up, cpu case) build project:
omniscidb/scripts/conda/build.sh
, which set some environment variables inside in not transparent way. Developer using in same condition simply:cmake .. && make -j 32 && make install
pytest.yml and modin.yml also use different approach to build - it uses:
$CONDA/bin/conda run -n ${{ env.CONDA_ENV }} sh -c "cmake .. -DENABLE_CUDA=off -DENABLE_CONDA=on -DENABLE_PYTHON=on -DCMAKE_BUILD_TYPE=release && make -j2 && make install"
test.yml (test-docker, test-l0-docker jobs also) uses to run sanity tests some
omniscidb/scripts/conda/test.sh
which usesget_cxx_include_path.sh
and also sets some env variables. Developer simply usesmake sanity_tests
,test-l0-docker.yml uses for sanity tests
omniscidb/scripts/conda/intel-gpu-enabling-test.sh
.All this hiding makes fails reported by CI difficult to reproduce. In addition, duplication (cache/build) requires several CI code updates to keep it consistent and support new features for build and test.
The text was updated successfully, but these errors were encountered: