Repository navigation
ci(bench): keep Lua's source pinned and cached for the determinism run - #260
Open
siracozmen01 wants to merge 1 commit into
Open
siracozmen01 wants to merge 1 commit into
siracozmen01 wants to merge 1 commit into
Conversation
The determinism workflow fetched Lua 5.4.9 from lua.org in every job and checked nothing it got, and the Windows job failed twice in a row when lua.org did not answer. Lua's source is now pinned by version and SHA-256, kept in a cache keyed by the pin and saved only from main, and held to the pin before it is built. Closes #259
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
determinismworkflow downloaded Lua 5.4.9's source from www.lua.org in each of its four jobs, every run, and checked nothing about what it got. Twice in a row on main (runs 42003344172 and 42059792394), the Windows job failed because lua.org did not answer. A tarball that was not the one meant would have been built and compared without anyone noticing.Change
.github/workflows/determinism.yml, the same way the organization'scpp.ymlkeeps its downloads:LUA_VERSIONandLUA_SHA256at the top of the workflow pin Lua's source. The SHA-256 is the one lua.org publishes beside the file in https://www.lua.org/ftp/, and the tarball downloaded from there hashes to it..cache/luafrom anactions/cachekeyed by the runner's OS and the pin. It downloads from lua.org only when the kept file is missing or does not match, and then holds the file to the pin before anything is built. A file that does not match fails the job with that said.Invoke-WebRequest. Paths name the version throughLUA_VERSION.Once main has run it once, an outage at lua.org no longer fails the job.
Verification
2335b6c5...fb8e6both times.zizmor --offlinereports nothing on the new workflow, as on the old.Closes #259