artifact retrieval not working as expected : latest artifact unzipped overwrites previouses ones
Problem description with an example : venv artifacts
Currently venv of previous jobs are retrieved by CI to avoid re downloading everything.
Here are, in the CI build log, shown the commits of the artifacts retrieved.
The selected commit of aidge core is a release : v0.3.1.
However just after that, when pip list
is invoked, we can see that the installed version is not v0.3.1 but 0.2.3.dev54+gc815b5495 :
Package Version
----------------- ----------------------
aidge_backend_cpu 0.3.2.dev2+g72cf4688
aidge_core 0.2.3.dev54+gc815b5495
Jinja2 3.1.4
MarkupSafe 3.0.2
numpy 2.1.2
pip 24.2
setuptools 75.2.0
wheel 0.44.0
This should not happen.
When investigating, I looked at the CI of backend_cpu, correcponding job (as pointed by the CI https://gitlab.eclipse.org/eclipse/aidge/aidge_backend_cuda/-/jobs/456801#L1502).
If we go to the selected job of aidge_backend_cpu
whose venv
artefacts are retrieved we can see at the very end that the installed versions are identical to those we have in backend_cuda job before building. :
Package Version
----------------- ----------------------
aidge_backend_cpu 0.3.2.dev2+g72cf4688
aidge_core 0.2.3.dev54+gc815b5495
Jinja2 3.1.4
MarkupSafe 3.0.2
numpy 2.1.2
pip 24.2
setuptools 75.2.0
wheel 0.44.0
Hence we can see that when artifacts are downloaded, 1st aidge_core
venv
is unzipped but right after that, when it is aidge_backend_cpu
's artefacts turn to be unzipped, venv
's files overwrites those of previously unzipped aidge_core
.
hence Aidge core artefacts are ignored.
Solution
To avoid this, unzip
process should not overwrite pre-existing files : https://askubuntu.com/a/994965
This seems a trivial addition but it might break some pipelines, hence it would be nice to test it before launching in production.
NOTE
do not forget to modify the windows job as well.