ci: add multiarch Linux builds (armv7, i386) and fix unit test precision - #32
Merged
Merged
Conversation
Exact == on 0.1/0.2/0.3/0.4 fails on i386 where the x87 FPU keeps intermediates in 80-bit extended precision. Use fabs() with 1e-9 tolerance like the color button test does.
Owner
|
Thanks for the pull request.
|
Owner
|
If you don't mind, could you share some use cases showing how you use libui-ng with armv7/i386? |
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.
Summary
Adds multi-architecture CMake build and test matrix coverage for
armv7andi386Linux targets using QEMU/Docker, and fixes floating-point precision assertion failures intable.cunit tests on 32-bit architectures.Key Changes
.github/workflows/cmake.yml):cmake-linux-multiarchmatrix job coveringarmv7(via QEMU) andi386architectures across static/shared and Release/Debug configurations usingdebian:12-slimDocker containers.xvfb-run ctest), consumer builds, CPack zip generation, and artifact uploading.cmake-linux-multiarchdependency to the release workflow trigger.cmake/release-archives.txt):armv7andi386zip build outputs (shared/static, debug/release).test/unit/table.c):==) withfabs()tolerance comparisons (1e-9) for floating-point color values to account for x87 extended precision (80-bit) handling on 32-bit (i386) architectures.CI