Conversation
Whilst working on the Reproducible Builds effort [0] I noticed that sphinx-panels and sphinx-design do not create reproducible output. This is because it uses Python's uuid.uuid4 to generate unique identifiers, but those numbers are random/nondeterminstic by design. This patch will seed these random numbers from SOURCE_DATE_EPOCH if it exists, otherwise it will revert back to random numbers. I originally filed this in Debian as bug #1017475 [1], as well as within sphinx-panels [2] [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/1017475 [2] executablebooks/sphinx-panels#82
|
Thanks for submitting your first pull request! You are awesome! 🤗 |
for more information, see https://pre-commit.ci
Codecov ReportBase: 88.60% // Head: 88.66% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #90 +/- ##
==========================================
+ Coverage 88.60% 88.66% +0.06%
==========================================
Files 11 11
Lines 930 935 +5
==========================================
+ Hits 824 829 +5
Misses 106 106
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
|
Sure thing. In a perfect world I would have implemented it that way too I think, but it was harder to ensure I knew all the codepaths. 👍 |
Whilst working on the Reproducible Builds effort I noticed that sphinx-design and sphinx-panels does not create reproducible output.
This is because it uses Python's
uuid.uuid4to generate unique identifiers, but those numbers are random/nondeterminstic by design. This patch will seed these random numbers fromSOURCE_DATE_EPOCHif it exists, otherwise it will revert back to random numbers.(I originally filed this in Debian as bug #1017475, as well as in sphinx-panels.)