RESOLVED FIXED 237506
[GTK] generate-automation-atom.py breaks reproducible builds
https://bugs.webkit.org/show_bug.cgi?id=237506
Summary [GTK] generate-automation-atom.py breaks reproducible builds
Alberto Garcia
Reported 2022-03-06 06:11:29 PST
Running this a few times in a row produces different output files: $ python3 Source/WebKit/Scripts/generate-automation-atom.py ./Source/WebKit/UIProcess/Automation/atoms/FindNodes.js out.js All generated files are equally valid and there are no semantic changes, it's just that the functions appear in different order. This results in different WebKitWebDriver binaries and therefore makes the builds non reproducible.
Attachments
Patch (1.34 KB, patch)
2022-03-06 14:50 PST, Adrian Perez
no flags
Patch v2 (1.39 KB, patch)
2022-03-07 04:49 PST, Adrian Perez
no flags
Patch for landing (1.44 KB, patch)
2022-03-07 07:14 PST, Adrian Perez
no flags
Adrian Perez
Comment 1 2022-03-06 14:50:05 PST
Michael Catanzaro
Comment 2 2022-03-06 16:31:29 PST
Comment on attachment 453933 [details] Patch Did this somehow break webkitpy tests, or is the EWS busted even without your patch?
Adrian Perez
Comment 3 2022-03-07 04:49:24 PST
Created attachment 453966 [details] Patch v2
Alberto Garcia
Comment 4 2022-03-07 05:17:14 PST
Comment on attachment 453966 [details] Patch v2 View in context: https://bugs.webkit.org/attachment.cgi?id=453966&action=review > Source/WebKit/Scripts/generate-automation-atom.py:55 > def append_functions(utils_data, util_functions, util_functions_impl, functions_written): > + util_functions_list = list(util_functions) > + util_functions_list.sort() > for function in util_functions: You forgot to actually use util_functions_list in the for loop
Adrian Perez
Comment 5 2022-03-07 07:04:49 PST
(In reply to Alberto Garcia from comment #4) > Comment on attachment 453966 [details] > Patch v2 > > View in context: > https://bugs.webkit.org/attachment.cgi?id=453966&action=review > > > Source/WebKit/Scripts/generate-automation-atom.py:55 > > def append_functions(utils_data, util_functions, util_functions_impl, functions_written): > > + util_functions_list = list(util_functions) > > + util_functions_list.sort() > > for function in util_functions: > > You forgot to actually use util_functions_list in the for loop Of course 🤦️; I'll fix that before landing.
Adrian Perez
Comment 6 2022-03-07 07:14:16 PST
Created attachment 453979 [details] Patch for landing
EWS
Comment 7 2022-03-07 08:38:37 PST
Committed r290890 (248121@main): <https://commits.webkit.org/248121@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 453979 [details].
Note You need to log in before you can comment on or make changes to this bug.