Handle problems caused by runner and Docker image updates #933
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.
An Emscripten Docker image update to Clang 20 and an update to the GitHub Actions Windows runner image broke our CI builds. This PR provides fixes or workarounds. While working on the Clang 20 issue it was noticed that the FP options for
libktx
were not being set as intended, except for the ASTC encoder. This PR also fixes that problem so the same FP options are used throughoutlibktx
. Lastly it contains improvements tobuild_wasm_docker.sh
made while debugging and fixing the FP settings issue.clang 20 has a new "overriding option" warning which is raised if one float-point option modifies a setting made by another. We are setting
-ffp-model=precise
, which leaves contraction on, and-ffp-contract=off
thus we get the warning. This usage is normal for cross-platform invariance thus the fix is to disable the spam warning.The Windows runner image update broke the python build due to removal of a long deprecated package from the Python/PIP
setuptools
package and our use of thecffi
package which has a dependency onsetuptools
including the deleted package. See python-cffi/cffi#117. This PR works around the problem by creating aconstraint.txt
file which is passed to PIP and tells it to limit thesetuptools
package to a version that still contains the deleted package.