seL4 / seL4-CAmkES-L4v-dockerfiles

Dockerfiles defining the dependencies required to build seL4, CAmkES, and L4v.
13 stars 40 forks source link

remove Debian snapshots as default #87

Closed lsf37 closed 3 months ago

lsf37 commented 3 months ago

While the snapshots in theory make the build more reproducible, the snapshot repos is notoriously unreliable in CI making the build fail more often than it succeeds.

Since we publish and tag the CI builds, if somebody wants to use the exact same base containers, they can use the tagged image -- reproducing the image build from scratch is not necessary for that scenario.

lsf37 commented 3 months ago

This currently still leaves the snapshot mechanism in, and it can be used by providing USE_DEBIAN_SNAPSHOT=yes and SNAPSHOT_DATE as build args.

If not using snapshots works for people and the tagged images satisfy enough requirements for reproducible builds, we should probably remove the mechanism entirely, because it would simplify some of the scripts significantly.

Ivan-Velickovic commented 3 months ago

Could you update this section of the README as well https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles?tab=readme-ov-file#released-images-on-dockerhub.

Ivan-Velickovic commented 3 months ago

Actually one more thing, what about: https://github.com/seL4/seL4-CAmkES-L4v-dockerfiles/blob/79725006f260ac0f62a3fed40a61f86185f65ab9/scripts/base_tools.sh#L31-L52

DESKTOP_MACHINE is set to no in base_tools.Dockerfile so won't this also add snapshot repositories? Or am I missing something?

lsf37 commented 3 months ago

DESKTOP_MACHINE is set to no in base_tools.Dockerfile so won't this also add snapshot repositories? Or am I missing something?

This section just sets them up to be used potentially via possibly_toggle_apt_snapshot which checks USE_DEBIAN_SNAPSHOT. So as long as USE_DEBIAN_SNAPSHOT is not yes, they will remain unused.

If we were to remove the functionality completely, this part would also go away.