Commit Graph

167 Commits

Author SHA1 Message Date
Guido Cella 68a5490be2 ci/lint: only allow space instead of \s or \s+ 2024-05-20 20:59:10 +02:00
Kacper Michajłow f2f62c5436 ci/mingw: use meson for libass build 2024-05-19 19:10:19 +02:00
Kacper Michajłow 0f93a6934f ci/mingw: remove non-existent cmake option 2024-05-19 19:10:19 +02:00
Kacper Michajłow 875378ff01 ci/win32: override link args only for the target that needs them
Fixes compilation after USE_GAS related fixes upstream. It links
asm_offset.exe, which shouldn't use a .def file.

Fixes: 0125d35954
2024-05-19 01:29:14 +02:00
Kacper Michajłow 0125d35954 ci/win32: add Vulkan-Loader
vulkan-1.dll is packaged, but is not neccessary in most cases where
Vulkan Loader is already instaled by GPU driver.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 2b4c64e321 ci/win32: build shaderc
Instead of linking binary blobs, build everything ourselves.
2024-05-18 23:22:18 +02:00
Kacper Michajłow a0195d335d ci/win32: enable all available projects from meson's wrapdb
Rubber Band is disabled because it pulls more dependencies and it is not
worth build. Might be reconsidered later.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 58d9f565c4 ci/win32: add spirv-cross 2024-05-18 23:22:18 +02:00
Kacper Michajłow 8c4b081da9 ci/win32: add shaderc
Use pre-built binaries to reduce CI build time.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 0ffabf5d45 ci: add Windows native build
x86_64-pc-windows-msvc build without mingw dependency. For now it lacks
some key dependencies like lua or shaderc. Will be extended in the
future.
2024-05-06 22:01:17 +02:00
Kacper Michajłow d347ee0e91 ci/lint: use long commit hash
No reason to use short hash in script internally.
2024-05-05 13:54:07 +02:00
sfan5 943a50b300 ci/mingw: update dependency versions 2024-05-03 23:44:51 +02:00
Jan Ekström e8fb386456 ci/build-mingw64: enable the SPDIF muxer
Useful if we want people to verify bitstreaming related changes
with our PR builds.
2024-04-04 17:03:48 +03:00
Andarwinux bcab45149d ci/mingw: use GAS for vulkan loader
this allows us to securely bundle the vulkan loader and include it in CI artifacts
2024-03-25 15:34:59 +01:00
nanahi 385031ae2d ci/mingw: update dependency versions 2024-03-03 16:43:02 +01:00
nanahi 7d31db9e45 ci/mingw: add dav1d decoder
ffmpeg has built-in decoders for almost all common formats, except AV1.
dav1d allows the CI build to play AV1 videos without a hwdec-capable GPU.
2024-03-03 16:43:02 +01:00
nanahi a81212836d ci/mingw: enable nvdec
Install the nv-codec-headers to enable nvdec for ffmpeg.
This allows the CI build to enable hwdec on opengl and vulkan contexts.
2024-03-03 16:43:02 +01:00
sfan5 3e42139e13 ci: clone repos with shallow submodules 2024-02-26 23:16:48 +01:00
LaserEyess d5dc1e8025 ci: add explicit build test for ffmpeg 4.4
This uses an alpine 3.15 container, which should be one of the oldest
distros that mpv master can compile on and that uses ffmpeg 4.4. Some
functionality is missing due to library versions being too old on
alpine, e.g. wayland, mujs, and pipewire.

The alpine build is also explicitly minimal, to test builds in
conditions where many common mpv features may not be available.
2024-02-26 15:37:37 +00:00
Kacper Michajłow 4f305e022f Revert "ci/mingw: pin Vulkan version again"
No longer needed after commit:
https://github.com/FFmpeg/FFmpeg/commit/e06ce6d2b45edac4a2df04f304e18d4727417d24

This reverts commit 09606b9db9.
2024-02-26 09:35:36 +01:00
LaserEyess a0447a370e ci: add OpenBSD 2024-02-25 14:29:18 +01:00
LaserEyess 914e56d845 ci: fix typing in lint-commit-msg.py
1. Explicitly add typing to lint_rules
2. Fix return type for get_commit_range()
3. Fix no-return path with get_commit_range()
2024-02-25 14:28:05 +01:00
der richter 3390dce426 github/workflows: add vulkan, mujs and urchadet to macOS dependencies
also explicitly enable those and remaining macOS features.
2024-02-24 20:04:16 +01:00
Dudemanguy 31a5f77ceb ci/lint: add Reapply to the no prefix whitelist
You get a special award if you commit one of these.
2024-02-15 09:54:48 -06:00
sfan5 09606b9db9 ci/mingw: pin Vulkan version again
With 1.3.277 the AV1 decode headers have been upstreamed.
These get preferred over ffmpeg's internal non-standard header
for this extension (same name). FFmpeg currently only builds
using its own header and a patch to work with upstream ones
is in review.

For now pin vulkan at the version before that to unbreak our CI.
2024-02-12 14:42:29 +01:00
Kacper Michajłow 5b28c5aa20 Revert "github/workflows: don't install angleproject on msys2"
No longer needed after removal of 32-bit builds.

This reverts commit d56ad8f032.
2024-01-14 22:42:26 +01:00
llyyr d56ad8f032 github/workflows: don't install angleproject on msys2
This package isn't available for i686 anymore, and not worth the hassle
to only install it for win64 since it isn't particularly useful.

See: https://github.com/msys2/MINGW-packages/commit/fff2fa3711e3cf1c9b65b12784ab3d9428a779f1
2024-01-12 17:19:25 +01:00
Kacper Michajłow 687372e2a2 ci/build-freebsd: use march=native for QEMU hosted build
This is workaround to not emit instructions that are broken with current
version of QEMU used in CI job.

Fixes SIGBUS on valid code when executed in QEMU caused by issue with
CVTPS2PD instruction.

QEMU issue:
https://gitlab.com/qemu-project/qemu/-/issues/1377

QEMU fix:
https://gitlab.com/qemu-project/qemu/-/commit/abd41884c530aa025ada253bf1a5bd0c2b808219

Should be resolved after QEMU update to 8.2.0:
https://github.com/cross-platform-actions/action/issues/78
2024-01-04 11:44:22 +01:00
Kacper Michajłow dda14de13d Revert "ci/mingw: use vulkan-loader v1.3.266"
This reverts commit 9d8dfc7b49.
2023-12-04 09:56:27 +01:00
sfan5 7dff735241 ci: remove dvbin from freebsd run
As it is now, the FreeBSD CI is failing because meson can't find the
dvb headers.
FreeBSD puts the relevant headers into /usr/local which is bothersome
and in fact required a workaround to be added to the Wayland detection
already (3bdf702b1d) but this should be
addressed by us adding the path to CFLAGS already.

With a more minimal example the detection works fine in my FreeBSD VM.
I'm at my wits end debugging this so just disable it for now.
2023-11-29 20:36:37 +01:00
Dudemanguy c7d8e155d2 ci/tumbleweed: don't enable shaderc
It only ever had any real affect on windows so with the previous build
change, enabling it cannot work.
2023-11-28 21:47:13 +00:00
Dudemanguy 7cca2a304e ci: remove leftover libplacebo subproject options
486bb93dfa removed the wrap which made
these specific options obsolete.
2023-11-27 20:44:07 +00:00
nanahi facbbd1110 ci/msys2: remove libplacebo.wrap
Not needed anymore as package is updated.
2023-11-27 19:11:07 +00:00
Dudemanguy 60db198267 ci: update mpv.com path again
Hopefully for the last time. It will now be in ./build as one would
expect.
2023-11-27 18:42:19 +00:00
Kacper Michajłow 36a33b44b9 ci/build-macos: enable Werror to catch issues quicker 2023-11-24 10:05:09 +01:00
llyyr 54223fc8e7 ci/msys2: create a wrap file for libplacebo
This is required because msys2's libplacebo is too outdated
2023-10-25 16:40:02 +00:00
Dudemanguy 1ea106bac0 ci/freebsd: disable iconv
This actually started having a linking error a few days ago, but the ci
never actually actually exited 1 for some reason so it was never caught.
The actual commits where this started happening are unrelated (reverted
all of the them to be sure) and there's no other obvious things like a
meson update that would cause this. All I can assume is some other
package within BSD itself, but I can't be bothered to debug it. Anyways,
just disable iconv in the build for now so the CI stops failing.
Presumably there's something wrong in the environment with GNU's
libiconv and the built-in one clashing somehow. Also, sdl unbelievably
defines HAVE_ICONV in their public header so we have to disable that
too.
2023-10-23 19:23:48 +00:00
Kacper Michajłow 7d63b81cf1 ci: disable Werror for libplacebo subproject build 2023-10-23 20:35:13 +02:00
llyyr f5ca11e12b meson: make libplacebo a required dependency
Make it not possible to build mpv without the latest libplacebo anymore.
This will allow for less code duplication between mpv and libplacebo,
and in the future also let us delete legacy ifdefs and track libplacebo
better.
2023-10-23 13:03:29 +02:00
Dudemanguy 5705d819ab ci/lint: allow the first word to be all caps
Otherwise acronyms and such would fail the lint, and it doesn't make any
sense to enforce it here. Also make sure that the length of the word is
greater than 1 to avoid something like "foo: A blah blah" from passing.
2023-10-20 15:52:49 +00:00
Kacper Michajłow b9b58f122b ci: enable -Werror
For better feedback on build status and to keep mpv warning free.

Except for macos builds, there are more issue there that need fixing.
2023-10-19 14:03:23 +00:00
Kacper Michajłow bcb9ed56fa ci: add sanitizers to Tumbleweed build
We don't have much test coverage, but even running the built binary
doesn't harm to check with sanitizers.
2023-10-08 19:23:16 +00:00
Kacper Michajłow 9d8dfc7b49 ci/mingw: use vulkan-loader v1.3.266
Upstream has been changing buildsystem and current vulkan.pc is not
functional with custom prefix path.

Rollback to older version until it is fixed.

See:
https://github.com/KhronosGroup/Vulkan-Loader/issues/1318
https://github.com/KhronosGroup/Vulkan-Loader/issues/1319
2023-10-07 17:47:57 +00:00
sfan5 140d018578 ci/mingw: drop old workarounds for vulkan-headers
These got fixed upstream.
2023-09-23 11:30:18 +02:00
Jan Ekström 3cf5cc467a {github/workflows,ci}: install and enable libplacebo in macOS CI 2023-09-21 22:21:37 +03:00
Dudemanguy 0652a0b545 ci/lint: ignore subject length for revert commits
The default revert will always add 9 extra characters which means it
could go over the 72 character soft limit if the commit being reverted
has a long subject. We won't fuss about this so just shut up the lint in
this case.
2023-09-02 01:35:45 +00:00
sfan5 90543610c2 ci/mingw: attempt to enable Vulkan Video Decoding 2023-08-29 17:52:17 +02:00
sfan5 76b1d282a5 ci/mingw: disable vulkan for 32-bit build
There's some cdecl / stdcall linking nonsense breaking the build
which I'm not inclined to debug this Sunday at all.
32-bit is not important anyway, so just disable it there.

On the plus side the new functional structure makes this very painless.
2023-08-21 16:43:38 +02:00
sfan5 c936377e34 ci/mingw: don't include useless DLLs in artifact 2023-08-21 16:43:38 +02:00
sfan5 b11b602312 ci/mingw: refactor build script into functions 2023-08-21 16:43:38 +02:00