You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our self-hosted Mac arm runner does not clean the work directory between runs like the GitHub hosted runners do; as such, the ~/.cache/pants/named_caches/pex_root, etc. sticks around. This exposes
a bug in Pants / Pex reproducibility when building PEXes where the ~/.cache/pants/named_caches/pex_root/installed_wheels/... that get packaged up into a PEX may (or may not) contain bytecode if the particular wheel was ever run against in the past. This leads to varying final PEX content.
Solve this issue in Pants or Pex - likely both. Pex likely needs to filter bytecode out of the installed_wheels dirs when building a PEX, and if this ends up being an option, Pants needs to plumb it or use it or both.
The text was updated successfully, but these errors were encountered:
>> Verifying the tools.pex built by the package crate matches the tools.pex built by Pants
The tools.pex generated by Pants does not match ours:
Ours: /Users/gha/actions-runner/_work/scie-pants/scie-pants/target/debug/build/package-8bbe6409b7e99a41/out/dist/tools.pex
-> 83cd9a45f2b5cc1c5b68314c3c7ab048b9aeae0dd131a236d4a495a60a3781a8
Pants: /Users/gha/actions-runner/_work/scie-pants/scie-pants/dist/tools/tools.pex
-> 3daa318b0d5c77b71591b014bf1b5ff28af44477e8a0aff649491e148b5b73d1
And I find the difference is entirely rogue .pyc files in the PEX generated by Pants.
Our self-hosted Mac arm runner does not clean the work directory between runs like the GitHub hosted runners do; as such, the
~/.cache/pants/named_caches/pex_root
, etc. sticks around. This exposesa bug in Pants / Pex reproducibility when building PEXes where the
~/.cache/pants/named_caches/pex_root/installed_wheels/...
that get packaged up into a PEX may (or may not) contain bytecode if the particular wheel was ever run against in the past. This leads to varying final PEX content.Solve this issue in Pants or Pex - likely both. Pex likely needs to filter bytecode out of the installed_wheels dirs when building a PEX, and if this ends up being an option, Pants needs to plumb it or use it or both.
The text was updated successfully, but these errors were encountered: