summaryrefslogtreecommitdiffstats
path: root/ci
Commit message (Collapse)AuthorAgeFilesLines
* ci/build-mingw64: enable the SPDIF muxerJan Ekström2024-04-041-1/+1
| | | | | Useful if we want people to verify bitstreaming related changes with our PR builds.
* ci/mingw: use GAS for vulkan loaderAndarwinux2024-03-251-2/+7
| | | | this allows us to securely bundle the vulkan loader and include it in CI artifacts
* ci/mingw: update dependency versionsnanahi2024-03-031-3/+3
|
* ci/mingw: add dav1d decodernanahi2024-03-031-3/+13
| | | | | 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.
* ci/mingw: enable nvdecnanahi2024-03-031-1/+9
| | | | | Install the nv-codec-headers to enable nvdec for ffmpeg. This allows the CI build to enable hwdec on opengl and vulkan contexts.
* ci: clone repos with shallow submodulessfan52024-02-263-3/+5
|
* ci: add explicit build test for ffmpeg 4.4LaserEyess2024-02-261-0/+17
| | | | | | | | | | 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.
* Revert "ci/mingw: pin Vulkan version again"Kacper Michajłow2024-02-261-2/+2
| | | | | | | No longer needed after commit: https://github.com/FFmpeg/FFmpeg/commit/e06ce6d2b45edac4a2df04f304e18d4727417d24 This reverts commit 09606b9db9e228ac80cadb5fd7875ad60c9bd178.
* ci: add OpenBSDLaserEyess2024-02-251-0/+21
|
* ci: fix typing in lint-commit-msg.pyLaserEyess2024-02-251-2/+4
| | | | | | 1. Explicitly add typing to lint_rules 2. Fix return type for get_commit_range() 3. Fix no-return path with get_commit_range()
* github/workflows: add vulkan, mujs and urchadet to macOS dependenciesder richter2024-02-241-1/+2
| | | | also explicitly enable those and remaining macOS features.
* ci/lint: add Reapply to the no prefix whitelistDudemanguy2024-02-151-2/+2
| | | | You get a special award if you commit one of these.
* ci/mingw: pin Vulkan version againsfan52024-02-121-2/+2
| | | | | | | | | | 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.
* Revert "github/workflows: don't install angleproject on msys2"Kacper Michajłow2024-01-141-0/+2
| | | | | | No longer needed after removal of 32-bit builds. This reverts commit d56ad8f0329e973d4c41e93f8491b4d3ceac9793.
* github/workflows: don't install angleproject on msys2llyyr2024-01-121-2/+0
| | | | | | | 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
* ci/build-freebsd: use march=native for QEMU hosted buildKacper Michajłow2024-01-041-1/+1
| | | | | | | | | | | | | | | | | 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
* Revert "ci/mingw: use vulkan-loader v1.3.266"Kacper Michajłow2023-12-041-2/+2
| | | | This reverts commit 9d8dfc7b49380b8c03546ed4fad2385c42438a50.
* ci: remove dvbin from freebsd runsfan52023-11-291-1/+2
| | | | | | | | | | | | 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 (3bdf702b1de8b0d0e0fb700b234b0fc69e04a630) 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.
* ci/tumbleweed: don't enable shadercDudemanguy2023-11-281-1/+0
| | | | | It only ever had any real affect on windows so with the previous build change, enabling it cannot work.
* ci: remove leftover libplacebo subproject optionsDudemanguy2023-11-273-3/+0
| | | | | 486bb93dfa90bf948cff8d77ad685f54d0928531 removed the wrap which made these specific options obsolete.
* ci/msys2: remove libplacebo.wrapnanahi2023-11-271-12/+0
| | | | Not needed anymore as package is updated.
* ci: update mpv.com path againDudemanguy2023-11-272-2/+1
| | | | | Hopefully for the last time. It will now be in ./build as one would expect.
* ci/build-macos: enable Werror to catch issues quickerKacper Michajłow2023-11-241-0/+2
|
* ci/msys2: create a wrap file for libplacebollyyr2023-10-251-0/+11
| | | | This is required because msys2's libplacebo is too outdated
* ci/freebsd: disable iconvDudemanguy2023-10-231-1/+1
| | | | | | | | | | | | | | 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.
* ci: disable Werror for libplacebo subproject buildKacper Michajłow2023-10-234-0/+4
|
* meson: make libplacebo a required dependencyllyyr2023-10-232-2/+2
| | | | | | | 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.
* ci/lint: allow the first word to be all capsDudemanguy2023-10-201-0/+3
| | | | | | 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.
* ci: enable -WerrorKacper Michajłow2023-10-194-0/+8
| | | | | | For better feedback on build status and to keep mpv warning free. Except for macos builds, there are more issue there that need fixing.
* ci: add sanitizers to Tumbleweed buildKacper Michajłow2023-10-081-0/+1
| | | | | We don't have much test coverage, but even running the built binary doesn't harm to check with sanitizers.
* ci/mingw: use vulkan-loader v1.3.266Kacper Michajłow2023-10-071-2/+2
| | | | | | | | | | | 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
* ci/mingw: drop old workarounds for vulkan-headerssfan52023-09-231-2/+1
| | | | These got fixed upstream.
* {github/workflows,ci}: install and enable libplacebo in macOS CIJan Ekström2023-09-211-1/+1
|
* ci/lint: ignore subject length for revert commitsDudemanguy2023-09-021-1/+2
| | | | | | | 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.
* ci/mingw: attempt to enable Vulkan Video Decodingsfan52023-08-291-6/+10
|
* ci/mingw: disable vulkan for 32-bit buildsfan52023-08-211-6/+10
| | | | | | | | 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.
* ci/mingw: don't include useless DLLs in artifactsfan52023-08-211-4/+17
|
* ci/mingw: refactor build script into functionssfan52023-08-211-54/+78
|
* ci/mingw: enable more ffmpeg featuressfan52023-08-211-1/+2
| | | | | | If someone wants to use the CI artifacts for day-to-day usage or even for certain tests it can be useful to take screenshots and use e.g. DShow (--disable-devices option), so enable those.
* ci/mingw: add necessary deps and enable vulkansfan52023-08-211-14/+48
|
* ci/mingw: move functional test to workflowsfan52023-08-211-1/+0
| | | | Arguably the better place for this as it provides fine-grained feedback.
* ci/mingw: update dependency versionssfan52023-08-211-3/+3
|
* ci: disable libplacebo in msys2 buildNiklas Haas2023-08-181-3/+1
| | | | | | Blocked upstream. See-Also: https://github.com/msys2/MINGW-packages/pull/17974
* meson: remove redundant libplacebo-next checkNiklas Haas2023-08-181-1/+1
| | | | Now implied by the minimum libplacebo version.
* ci: update the mpv.com pathDudemanguy2023-07-312-2/+2
| | | | Following the previous commit, it will now be in build/player.
* Revert "ci/msys2: double down on running meson through python3.11"Kacper Michajłow2023-07-291-3/+0
| | | | | | | Python 3.11 will be released soon as default Python package, and actually python3.11 package already disappeared from the repository. This reverts commit c637beb5223b0af5a671c8829a0e1a42e7e9a411.
* ci/mingw: reduce git clone depth to 1Kacper Michajłow2023-07-251-1/+1
|
* ci/mingw: use ccacheKacper Michajłow2023-07-251-6/+9
| | | | | | | | | | | | | | | Can significantly reduce build time, most of dependencies have fixed versions, so they can be cached fully. Others will be incrementally build. Cache is saved on every run and restored from the newest one. Size is limited to 500M (compressed) to keep cache save/restore fast. Clean cached build is little over 100M, so we have a headroom as things will grow. ccache will automatically evict least recently used entries. It is unlikely that clean build will exceed the limit anytime soon, but it is something to keep in mind, as we do not want to evict cache entries from current build, so the cache size need to be set correctly.
* ci/mingw: check if binary is runnable before packagingKacper Michajłow2023-07-251-0/+1
|
* ci/mingw: update luajit to fix i686 crashesKacper Michajłow2023-07-241-5/+5
| | | | | | 2.1.0-beta3 is ancient. Disable unwinding in luajit, as it requires SEH to be enabled in the image, but it is not on i686 target and it crashes when luajit tries to use SEH.
* waf: remove waf as a build systemLaserEyess2023-07-235-159/+57
| | | | | | Remove waf entirely in favor of meson as the only supported build system. Waf was officially deprecated in 0.36.0, and has not been preferred over meson since 0.35.0.
* ci/msys2: double down on running meson through python3.11Kacper Michajłow2023-07-022-3/+3
| | | | | | | Run not only scripts inside build system, but also meson itself with Python 3.11. Fixes: eb4da3400a1c37eea7b258b00297e8b8fcdd8db4
* ci/msys2: switch to Python 3.11 to fix crashes during buildKacper Michajłow2023-06-262-0/+3
| | | | | | | | | There is a long-standing bug with random crashes of Python 3.10 on CI. See: https://github.com/python/cpython/issues/105400 https://github.com/msys2/MINGW-packages/issues/11864 https://github.com/msys2/MINGW-packages/issues/17415
* ci: use a different mirror for freetypesfan52023-06-131-1/+1
| | | | GNU decided to break theirs
* ci/mingw: add dlltool to the meson crossfileKacper Michajłow2023-06-081-0/+1
|
* ci/mingw: update dependencies versionsKacper Michajłow2023-06-081-4/+4
|
* ci/msys2: enable egl-angle-libKacper Michajłow2023-06-081-0/+2
| | | | | Now that it has been fixed upstream we can enable and test if it links correctly.
* ci: use auto detection for lua library version for MSYSKacper Michajłow2023-04-291-2/+2
|
* ci: add a workflow that lints commit messagessfan52023-04-081-0/+112
|
* ci/mingw: require libplacebo-nextKacper Michajłow2023-03-281-2/+2
| | | | libplacebo is build by us, so we can explicitly enable it.
* ci: separate meson tests and reorganize build stepsDudemanguy2023-03-025-11/+4
| | | | | | | | | | | | | Instead of running the test directly in the build script, we can make a separate step in the workflow so it looks a little prettier. For running the actual tests, we skip mingw since they will never be run (cross compiled). Additionally, improve the github workflow logic a bit so that way logs on failure are only shown when that specific step fails. The freebsd job still has to be less elegant since it's in a weird vm thingy. Not really related but the location of various build directories (particularly waf) are corrected as well (might as well).
* ci: use the same arguments when running the built mpv binaryDudemanguy2023-03-022-4/+4
| | | | | A couple of places didn't have -v --no-config so just use them everywhere.
* player: remove unittest optionDudemanguy2023-03-022-4/+4
| | | | | | | | | Since meson has its own unit testing system, let's rework mpv's tests so they integrate nicely with this. To prepare for this, start off by dropping the unittest option. Of course, this means that tests will no longer be supported in the waf build at all but it will be dropped anyway. Note that the tests option is preserved for the meson build. We will still make use of this in the future commits.
* ci: pack mingw64 meson build instead of wafKacper Michajłow2023-01-311-1/+1
|
* ci: separate meson/waf build dirsKacper Michajłow2023-01-315-10/+15
|
* ci: use meson compile instead of ninja directlyKacper Michajłow2023-01-311-1/+1
|
* ci: do not print compile commandsKacper Michajłow2023-01-313-6/+6
| | | | It only shadows warnings/errors and makes log files bloated.
* ci: migrate MSYS2 build to GitHub ActionsKacper Michajłow2023-01-281-0/+56
|
* ci: run meson testsThomas Weißschuh2023-01-194-0/+4
|
* ci: upload resulting binary of mingw64 buildsfan52022-11-011-0/+15
|
* ci/mingw64: refresh build scriptssfan52022-11-011-34/+43
| | | | | | | - newer library versions - use libplacebo submodules - prefer meson where possible - fix minor details
* ci: use meson setup build instead of meson buildDudemanguy2022-10-294-4/+4
| | | | | | | | | | | | The old "meson build" build command was actually deprecated a few months ago*. It turns out that you're supposed to use "meson setup build" instead which has been around for years. Go ahead and be a good citizen and update this in the CI. Also replace any mention of "meson build" with "meson setup build" in the documentation as well and change the one random hardcoded string we have in meson.build to "meson configure build" (might as well). *: https://github.com/mesonbuild/meson/commit/3c7ab542c0c4770241eae149b0d4cd8de329aee0
* ci/build-freebsd.sh: remove nonexistent optionDudemanguy2022-10-271-2/+0
| | | | Mistakenly added in aeb4792cb6804a78974faa329a9c9f8a7bb5fa7b.
* ci: require pipewire to be enabled for Tumbleweed Linux buildsJan Ekström2022-10-261-0/+2
|
* vo_vaapi_wayland: remove, as it is superceded by vo_dmabuf_waylandAaron Boxer2022-10-261-2/+2
|
* ao_pipewire: test on FreeBSDThomas Weißschuh2022-08-181-0/+2
|
* ci/build-mingw64: enable test buildingJan Ekström2022-06-151-2/+3
| | | | Not currently run, but adds coverage for compiled code.
* ci/build-mingw64: bump dependenciesJan Ekström2022-06-151-6/+6
|
* ci/build-mingw64: switch to fossils directory for zlibJan Ekström2022-06-151-1/+1
| | | | | This contains current as well as previous versions, while the root directory only contains the latest version.
* ci/build-tumbleweed: attempt to enable unit tests in CIJan Ekström2022-06-151-2/+4
|
* ci/mingw64: add git libplacebo for gpu-nextJan Ekström2022-06-071-2/+13
| | | | | | | This way mingw-w64 becomes the first CI workflow to build gpu-next. Unfortunately, currently neither wscript or meson has gpu-next or libplacebo-next as an option that one can require.
* ci/mingw64: make meson crossfile globalJan Ekström2022-06-071