27 Commits
Author SHA1 Message Date
Lucas Chollet b37efc6925 Meta: Add a tool to compare our math functions against a trusted source
This tool runs a bunch of accuracy and performance tests on standard
math functions. The accuracy is measured against the MPFR library, which
provides results precise enough to be correctly rounded to double
precision floating points.

By default, the tool test the math functions from AK but a runtime flag
can be used to instead test the system's libm.

A few test cases are internally generated, but to get more precise
results the tool is capable of reading worst-cases files from the
CORE-MATH project. The location of the repository should be given with
the --core-math PATH option.

Heavily inspired by https://github.com/nico/js-math-bench.
2026-09-26 21:19:20 +02:00
Sönke Holz 9096e16e44 CI: Bump actions/cache from 4 to 6 2026-07-04 15:11:53 +02:00
Sönke Holz e72ff2dbcf CI: Select Xcode 26.1
This will be necessary for moving to C++26.
2026-01-04 13:47:22 +01:00
Sönke Holz 1ad8b5d2ec CI: Update to GCC 14
This will be necessary for moving to C++26.
2026-01-04 13:47:22 +01:00
Lucas CHOLLET af565025f7 CI: Show the current cache storage before using it
Hopefully, this should inform us on the state of the cache while the
workflows are running and thus help us manage the storage in a better
way.
2025-12-25 15:16:22 +01:00
Lucas CHOLLET 7a652f04c2 CI: Don't save ccache caches from pull requests
These caches have been squatting the repo's storage for no good reasons.
They can only be reused by the same PR and due to our big cache sizes,
their addition to the repo's storage can easily evict some good entries
from the master branch.
2025-12-11 00:13:07 +01:00
Sönke Holz 5885e64e0c CI: Don't use timestamps as cache keys for TimeZone and Unicode caches
Since e5f361500e we included a timestamp in these cache keys.
But doing so should be unnecessary, since hashing the respective CMake
scripts should be enough as they already include the expected SHA256
hashes of the files to download.

This should cause less duplicate caches, since we now get exact matches
of the cache key instead of falling back to the restore key.
If no exact cache key match was found, GitHub actions creates a new
cache.
2025-12-10 00:09:59 +01:00
Sönke Holz 1c505057a5 CI: Run on AArch64 and RISC-V in CI
Running tests is still disabled until we fix all tests on these
architectures.
2025-12-08 13:16:22 +01:00
Hendiadyoin1andLucas CHOLLET a38fd08cc1 CI: Bump Ubuntu runner to 24.04
Co-authored-by: Lucas CHOLLET <[email protected]>
2025-10-20 13:08:24 +02:00
Lucas CHOLLET 8a3f29fe9e Meta: Switch to clang-format-20 as the standard formatter 2025-10-10 00:02:50 +02:00
Ali Mohammad Pur 3be1079df7 Meta: Include the hash of BuildJakt.sh in the jakt cache key 2024-10-16 13:30:43 +02:00
Ali Mohammad Pur 702d1a5a77 Meta: Replace one more matrix.arch with inputs.arch 2024-10-09 11:50:26 +02:00
Ali Mohammad Pur e098402e26 Meta: Make the jakt toolchain cache actually work 2024-10-08 00:17:00 +02:00
Ali Mohammad PurandAndrew Kaster ff54fc0f07 Meta+Toolchain: Bring jakt in as a part of the toolchain
This also updates the hello-world "utility".

Co-Authored-By: Andrew Kaster <[email protected]>
2024-10-02 08:10:54 +02:00
Sönke Holz 76bd6115cb CI: Don't build AArch64 QEMU in CI
We now get the command line from the flattened devicetree, so manually
building a newer QEMU version to make the RPi "Get command line" mailbox
message work is not necessary anymore.
2024-09-11 12:47:12 -04:00
Nico Weber 3780499761 CI: Remove Nightly Android workflow 2024-06-11 19:40:08 -04:00
Diego 9721b63d13 CI+Documentation: Use WABT version 1.0.35
Required for `wast2json` to work with latest spec-tests.
2024-06-09 16:30:09 +02:00
Timothy Flynn 5e34a41f06 CI: Be a bit less paranoid about old compiler versions existing
We explicitly tell CMake what compiler to use. No need to remove older
versions, which was just one extra thing we needed to maintain.
2024-05-15 15:20:29 -06:00
Timothy Flynn 18f9efe92d CI: Explicitly install gcc-13 on CI
We're now getting errors on CI due to gcc-13 being missing. We can
probably be smarter about what packages we install, depending on the
workflow being run. But let's first unblock CI.

The error we get is a bit strange and inconsistent. Some CI runners seem
to already have gcc-13 installed. Others don't and can't find the gcc-13
package without the test Ubuntu toolchain PPA.
2024-05-15 15:20:29 -06:00
Timothy Flynn fffa4ef250 CI: Move the nightly Android CI to GitHub actions 2024-05-10 16:07:23 -04:00
Timothy Flynn c7828b0640 CI: Remove custom python setup
The only python on the CI machines is now python3. The python installed
by setup-python (which is CPython) seems to have issues running WPT.
2024-05-08 14:46:39 -06:00
Timothy Flynn 520667bda0 CI: Install the six python package
Needed for WPT.
2024-05-08 14:46:39 -06:00
Timothy Flynn d7dc279ba8 CI: Add the extracted wabt package to the PATH
Unlike Azure, we can't just set the PATH environment variable in GitHub
Actions. We must add it using a special GITHUB_PATH file.
2024-05-08 14:46:39 -06:00
Timothy Flynn 33cf9e68dd CI: Use the correct value for the toolchain ccache primary key 2024-05-08 14:46:39 -06:00
Andrew KasterandTimothy Flynn e5f361500e CI: Use common cache restore and cache save action on GitHub Actions
Unfortunately a composite action cannot have a `post:` step like
JavaScript actions are allowed to have, so we need to explicitly call
the post/save actions ourselves from the workflow file when we want to
save Toolchain/QEMU/ccache caches.

Co-Authored-By: Timothy Flynn <[email protected]>
2024-05-07 15:28:46 -06:00
Timothy Flynn 4f62066ad0 CI: Run brew update before installing macOS packages
This is needed to update brew's internal list of formulae, otherwise it
does not know about llvm-18.
2024-05-06 09:31:55 -06:00
Andrew Kaster 5aa28c31d5 CI: Use a local GitHub Action to setup installed packages 2024-05-02 06:22:10 -06:00