paketo-community / explorations

A place for explorations and proofs-of-concept related to the development of Paketo buildpacks.
1 stars 2 forks source link

Check build reproducibility across languages #10

Open sophiewigmore opened 2 years ago

sophiewigmore commented 2 years ago

Context

Recently, a user found that in some instances, multiple builds on the same source code produce images with different digests (see this thread). The user expected that the build would've produced the same image. This issue appears to have cropped up without our knowledge since we did not have language-family level tests for reproducibility. This latest occurrence may be related to the SBOM work we recently added.

Issue

We should perform an investigation across all of our language family buildpacks to determine the status of build reproducibility. For any buildpacks that do not produce reproducible images, we should file an issue to flag that and (hopefully) resolve it down the line. The issues file should include an outcome about adding a test at the language-test level. Buildpacks to investigate:

c0d1ngm0nk3y commented 1 year ago

We tried this with a simple NodeJS based application and were able to reproduce the IMAGE_ID two weeks later, with the following information:

sophiewigmore commented 1 year ago

cc @paketo-buildpacks/nodejs-maintainers