161 Commits
Author SHA1 Message Date
Martin StorsjöandJean-Baptiste Kempf 720adf9b5b ci: Add -Dtrim_dsp=false in a couple of aarch64/arm configurations
For the "release" build configurations, trim_dsp defaults to true,
while it defaults to false for "debugoptimized". This means that
the configurations with release mode, without -Dtrim_dsp=false
actually run checkasm before.

In practice, checkasm is covered by later, full-test configurations,
but this ensures that we do test it at this stage as well, as
intended.
2026-06-07 22:36:10 +02:00
Martin Storsjö 7b9ab8373e ci: Update the main CI image
This version includes llvm-symbolizer, which should improve
backtraces in sanitizer builds with Clang.
2026-05-06 15:11:16 +00:00
Martin Storsjö 556c5202b4 ci: Add testing on macOS on Apple Silicon too 2026-05-03 22:39:01 +03:00
Henrik Gramner c0f2fe3135 build: Update meson version requirement to 0.54.0
Use of the meson 'fallback arg in dependency' feature was introduced
by the switch to external checkasm in 3a2a874.
2026-04-22 21:02:05 +02:00
Matthias Dressel d69235dd80 CI: Use shortform QEMU_CPU for loongarch64
Since qemu commit 979bf44af8483cedc00c63b3e79407de08e75a30 the cpu
argument accepts just 'max' as a shorthand.
2026-03-17 22:00:03 +01:00
Matthias Dressel bfbd7d4677 CI: loongarch64: Move QEMU_LD_PREFIX to crossfile
Simplifies developement builds on local machines.
2026-03-17 22:00:03 +01:00
Matthias Dressel afcdb781cb CI: riscv64: Move QEMU_LD_PREFIX to crossfile
Simplifies developement builds on local machines.
2026-03-17 22:00:03 +01:00
Matthias Dressel 42ac98706a CI: aarch64: Move QEMU_LD_PREFIX to crossfile
Simplifies developement builds on local machines.
2026-03-17 22:00:03 +01:00
Matthias Dressel 8feb8526bb CI: Remove outdated version suffix from job name 2026-03-17 22:00:03 +01:00
Matthias Dressel 1dcfc90757 CI: Update images 2026-02-28 16:27:35 +01:00
Matthias Dressel daef396277 CI: Switch to loongarch64 Debian toolchain
loong64 was recently promoted to an official Debian architecture. [0]

[0] https://lists.debian.org/debian-devel-announce/2025/12/msg00004.html
2026-02-09 02:33:29 +01:00
Steve LhommeandMartin Storsjö 50015c2ec9 CI: switch debian-llvm-mingw to UCRT
The msvcrt and ucrt are almost identical except
- C runtime is either msvcrt or UCRT (Universal C Runtime from Vista+ [^1])
- The default target OS is Windows 10 instead of Windows 7 (0x601)

[^1]: https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c
2026-01-21 13:43:37 +00:00
Matthias Dressel c3f3a7e567 CI: Check --frametimes with msan
This would have caught 583e8e02eb.
2025-07-01 18:35:31 +02:00
Matthias Dressel 8d95618093 CI: Build '-mavx' code as debugoptimized
Workaround a GCC 14 bug where it does not insert `vzeroupper` in C code
built without at least '-O2'.
2025-03-10 16:40:35 +01:00
Matthias Dressel edeac873c4 CI: Update images 2025-03-10 16:40:35 +01:00
Matthias Dressel 1d0cda02a6 CI: Update ppc64le image
Since there seems to be a problem with gcc-14 stay on gcc-13 for now.
2025-03-05 21:58:24 +01:00
Martin StorsjöandJean-Baptiste Kempf 718b62c8cd ci: Raise the timeout multipliers for jobs that run in QEMU
For individual tests in dav1d-test-data, the default timeout
is 30 seconds (which is the Meson default if nothing is
specified). Previously it ran with a multiplier of 4, resulting
in a total timeout of 120 seconds.

When running tests in QEMU, exceeding this 120 second timeout
could happen occasionally. Raise the multiplier to 10, allowing
each individual job to run for up to 5 minutes.

This should hopefully reduce the amount of stray failures in the
CI.

For tests that already have a higher default timeout set, such
as checkasm which has got a 180 second default timeout, this results
in a much longer timeout period. However as long as we don't
frequently see issues where these actually hang, it should be
beneficial to just let them run to completion, rather than
aborting early due to a tight timeout.
2024-11-14 13:38:18 +00:00
Matthias DresselandJean-Baptiste Kempf 37155c1147 CI: Update Android image
NDK 26 dropped support for API versions 19 and 20 (KitKat, Android 4.4).
The minimum supported API is now 21 (Lollipop, Android 5.0).
2024-05-18 10:04:31 +00:00
Matthias DresselandJean-Baptiste Kempf c7df9a3e65 CI: Improve coverage for argon samples using different thread counts
Similar to 4796b59fc0.
2024-05-01 13:09:09 +00:00
Matthias DresselandJean-Baptiste Kempf 0f504bf57c CI: Add dotprod to argon tests 2024-05-01 13:09:09 +00:00
Matthias Dressel 5851901772 CI: Move llvm crossfiles from image to project
Since dav1d was the only user of these crossfiles, it was agreed upon to
remove them from the image [0] and move to dav1d directly. [1]

[0] https://code.videolan.org/videolan/docker-images/-/merge_requests/293
[1] https://code.videolan.org/videolan/docker-images/-/merge_requests/294#note_434720
2024-04-16 11:53:16 +02:00
Matthias Dressel 313af0b6a5 CI: Update images
Now with clang 18 and downgraded xz-utils.
2024-04-14 01:57:37 +02:00
Ronald S. Bultje f1c518901b Increase timeout multiplier for aarch64/riscv64/la64-qemu CI jobs
They have been failing occasionally lately.
2024-04-13 09:53:54 -04:00
Henrik Gramner 8b46166852 ci: Make checkasm work on the x86-32 build 2024-03-15 12:19:24 +01:00
Martin Storsjö 0d2e83cc16 ci: Add an aarch64 cross compile CI job with a recent Clang 2024-02-28 16:40:14 +00:00
Martin Storsjö 302334a6be ci: Test aarch64 with QEMU, with varying SVE vector lengths
This allows testing all modern aarch64 CPU features, that the
HW based test runners might not support.

Especially for SVE, this allows testing all valid vector lengths,
which might not exist in hardware form yet.
2024-02-28 16:40:14 +00:00
Martin Storsjö 39be9fb438 ci: Bump to the latest dav1d-debian-unstable image
This one contains aarch64 cross tools, for use with QEMU.
2024-02-28 16:40:14 +00:00
Matthias Dressel 9d57a654e2 CI: Add riscv64 clang build 2024-02-22 19:13:23 +01:00
Matthias Dressel bada810c17 CI: Update image
Now contains clang 17.
2024-02-22 19:13:23 +01:00
Henrik GramnerandHenrik Gramner 4796b59fc0 ci: Improve coverage for argon samples using different thread counts 2024-02-18 15:37:04 +01:00
Henrik GramnerandHenrik Gramner bb26bdca06 tests: Automatically determine job count in dav1d_argon.bash
Default to using the number of logical cores divided by thread count.
2024-02-18 15:37:04 +01:00
Matthias DresselandNathan E. Egge a7edb02987 CI: Use cross-compiling libc instead of multi-arch
See https://code.videolan.org/videolan/docker-images/-/merge_requests/272
for more context.
2024-01-31 06:04:21 -05:00
Nathan E. Egge 1042008eb5 CI: riscv64: Use matrix test to vary rvv VLEN 2024-01-31 06:04:21 -05:00
Matthias DresselandNathan E. Egge ebbddd48e3 CI: Add riscv64 tests 2024-01-31 06:04:21 -05:00
Matthias DresselandRonald S. Bultje 2c9bbb4908 meson: Add 'enable_seek_stress' option
Allows to explicitly enable/disable seek-stress tests.
2024-01-23 17:47:46 +00:00
Matthias Dressel b084160736 CI: Switch to using 'testdata' suite
Simplifies testing and also contains the forgotten 'testdata-multi'
suite which was added later.
2024-01-23 00:26:51 +01:00
Matthias Dressel 7d225bec62 CI: Add loongarch64 tests 2024-01-15 14:54:46 +01:00
Matthias Dressel 655d7ec07d CI: Add loongarch64 toolchain 2024-01-15 09:35:54 +01:00
Henrik GramnerandHenrik Gramner 9dbf46285d ci: Fix test-debian-asan running checkasm with non-existing arguments 2023-11-01 13:59:46 +01:00
Matthias Dressel 48ef395920 CI: Update images 2023-10-24 20:27:33 +02:00
Matthias Dressel f8ae94eca0 CI: Add argon tests 2023-05-14 17:52:59 +02:00
James Almer e3fb0ad31f CI: group a few jobs 2023-04-11 12:19:04 -03:00
Matthias DresselandJean-Baptiste Kempf 380efd764f CI: Add wasm{32,64} builds
Fixes #421
2023-04-06 07:52:12 +00:00
Matthias Dressel b8a43e2225 CI: Replace only/except with rules
"only and except are not being actively developed. rules is the
preferred keyword to control when to add jobs to pipelines." [0]

[0] https://docs.gitlab.com/ee/ci/yaml/index.html#only--except
2023-02-13 21:10:44 +01:00
Matthias Dressel 616dad2b43 CI: Unambiguously call meson setup
Calling meson with no command is deprecated since 0.64.0
2023-02-13 21:10:44 +01:00
Matthias Dressel 899d6c9fd3 CI: Update images 2023-02-13 21:10:44 +01:00
Matthias Dressel 934713e4a6 CI: Disable trimming on some tests
Allow checkasm to run.
2022-09-09 09:21:25 +02:00
Matthias Dressel 3920bd9d9d CI: Remove git 'safe.directory' config
It is now handled by the gitlab runner.

Ref: 7d859f9c72
2022-09-09 09:21:25 +02:00
Matthias Dressel d92594bd5d CI: Update images
Remove experimental since gcc12, clang14, mold are now in unstable.
2022-09-09 09:20:52 +02:00
Konstantin PavlovandHenrik Gramner 79bc755d19 CI: Removed snap package generation
snapcraft version we use is no longer compatible with authentication
schemes snap store uses.  This could be fixed by updating the snapcraft
inside the docker image, but Ubuntu no longer ships an up to date
snapcraft version in their own repositories.  The other way to install
snapcraft is to manually fetch the project and core snaps just like we
do in https://code.videolan.org/videolan/docker-images/-/blob/master/vlc-ubuntu-focal/Dockerfile,
but that currently fails on Jammy due to conflict in Python versions
between what is shipped in Jammy and inside snapcraft project.

All in all, it seems snapcraft seems to be abandoned for our CI
use-case, and the usefulness of dav1d snap is disputable, so just drop
it altogether.  Packaging is still available in package/snap/ for the
brave souls who want to build it on their own.
2022-07-06 20:49:33 +00:00