-
- Notifications
You must be signed in to change notification settings - Fork 33.7k
build: fix indeterminacy of icu_locales value #42865
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
richardlau approved these changes Apr 25, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary.
This comment was marked as outdated.
This comment was marked as outdated.
Collaborator
lpinca approved these changes Apr 25, 2022
14 tasks
Collaborator
Mesteery approved these changes Apr 26, 2022
This was referenced Apr 27, 2022
Contributor Author
| I'm not sure I understand what's wrong with CI and failed tests, could anybody explain it to me? Should or could I do something to fix it? |
21 tasks
Collaborator
This was referenced Apr 30, 2022
Contributor Author
| Ping? Looks like everything is okay and ready to merge. |
Collaborator
| Landed in 5e9274a |
RafaelGSS pushed a commit that referenced this pull request May 10, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
Merged
juanarbol pushed a commit that referenced this pull request May 31, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
danielleadams pushed a commit that referenced this pull request Jun 27, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
targos pushed a commit that referenced this pull request Jul 12, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
targos pushed a commit that referenced this pull request Jul 31, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
guangwong pushed a commit to noslate-project/node that referenced this pull request Oct 10, 2022
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: nodejs/node#42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
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.
icu_localesis generated by joining values fromsetdata structure.However,
setdoesn't guarantee an order, so the result oficu_localesis not determined.For example, the result value could be 'en,root' or 'root,en'. This fix make it deterministic.
The main reason of this fix is to restore the reproducibility of the build because the value of
icu_localesis embedded intonodebinary.The minimal code below could show you the issue:
Even after several runs of this script the problem occurs: