Are python_distribution builds supposed to be full...
# general
d
Are python_distribution builds supposed to be fully deterministic? If I build a python_distribution from some sources with Pants and
--no-local-cache
, kill pantsd and then run the same build, I get different digest fingerprints. Any ideas why?
If I build a .whl twice. They have different md5 values, but the md5 values of all of the files in each .whl are the same
Is there any way to control this process so I can get deterministic hashes / fingerprints on these files?
f
Maybe the timestamps for the files in the wheel differing are the issue?
It's been an issue with
.jar
files. https://github.com/pantsbuild/pants/pull/16950
d
Thanks for the tip, you were right. Running
zipinfo -v
on the whl files shows timestamp information for each file from when I ran the build locally. Setting
env_vars=["SOURCE_DATE_EPOCH=1"],
on the
python_distribution
results in deterministic wheel files now. Looks like the tar.gz source dists are still different, but I don't actually need those for what I'm working on. Thanks, Tom!
👍 1