1.6.7
We now support reproducible builds when creating a pex via pex -o foo.pex
, meaning that if
you were to run the command again with the same inputs, the two generated pexes would be
byte-for-byte identical. To enable reproducible builds when building a pex, use the flags
--no-use-system-time --no-compile
, which will use a deterministic timestamp and not include
.pyc
files in the Pex.
In Pex 1.7.0, we will default to reproducible builds.
- add delayed pkg_resources import fix from #713, with an integration test (#730)
- Fix reproducible builds sdist test by properly requiring building the wheel (#727)
- Fix reproducible build test improperly using the -c flag and add a new test for -c flag (#725)
- Fix PexInfo requirements using a non-deterministic data structure (#723)
- Add new
--no-use-system-time
flag to use a deterministic timestamp in built PEX (#722) - Add timeout when using requests. (#726)
- Refactor reproducible build tests to assert that the original pex command succeeded (#724)
- Introduce new
--no-compile
flag to not include .pyc in built pex due to its non-determinism (#718) - Document how Pex developers can run specific tests and run Pex from source (#720)
- Remove unused bdist_pex.py helper function (#719)
- Add failing acceptance tests for reproducible Pex builds (#717)
- Make a copy of globals() before updating it. (#715)
- Make sure
PexInfo
is isolated fromos.environ
. (#711) - Fix import sorting. (#712)
- When iterating over Zipfiles, always use the Unix file separator to fix a Windows issue (#638)
- Fix pex file looses the executable permissions of binary files (#703)