1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-31 19:52:16 +00:00
Commit Graph

71 Commits

Author SHA1 Message Date
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
sfan5
654ccb3c2c ci/mingw: enable more ffmpeg features
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.
2023-08-21 16:43:38 +02:00
sfan5
aed8d6f552 ci/mingw: add necessary deps and enable vulkan 2023-08-21 16:43:38 +02:00
sfan5
9b9409196b ci/mingw: move functional test to workflow
Arguably the better place for this as it provides fine-grained feedback.
2023-08-21 16:43:38 +02:00
sfan5
c7342bbd5a ci/mingw: update dependency versions 2023-08-21 16:43:38 +02:00
Niklas Haas
edca26381f ci: disable libplacebo in msys2 build
Blocked upstream.

See-Also: https://github.com/msys2/MINGW-packages/pull/17974
2023-08-18 16:39:57 +02:00
Niklas Haas
24dca265b4 meson: remove redundant libplacebo-next check
Now implied by the minimum libplacebo version.
2023-08-18 16:39:57 +02:00
Dudemanguy
7adb56ccd9 ci: update the mpv.com path
Following the previous commit, it will now be in build/player.
2023-07-31 19:00:06 +00:00
Kacper Michajłow
089a8480a2 Revert "ci/msys2: double down on running meson through python3.11"
Python 3.11 will be released soon as default Python package, and
actually python3.11 package already disappeared from the repository.

This reverts commit c637beb522.
2023-07-29 12:33:50 +03:00
Kacper Michajłow
38ad2467a4 ci/mingw: reduce git clone depth to 1 2023-07-25 11:34:59 +02:00
Kacper Michajłow
95a2d5b044 ci/mingw: use ccache
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.
2023-07-25 11:34:59 +02:00
Kacper Michajłow
d521ba38d1 ci/mingw: check if binary is runnable before packaging 2023-07-25 11:34:59 +02:00
Kacper Michajłow
ff3739b36e ci/mingw: update luajit to fix i686 crashes
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.
2023-07-24 19:44:34 +02:00
LaserEyess
f2cce5f38f waf: remove waf as a build system
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.
2023-07-23 19:55:51 +00:00
Kacper Michajłow
c637beb522 ci/msys2: double down on running meson through python3.11
Run not only scripts inside build system, but also meson itself with
Python 3.11.

Fixes: eb4da3400a1c37eea7b258b00297e8b8fcdd8db4
2023-07-02 15:15:43 +02:00
Kacper Michajłow
eb4da3400a ci/msys2: switch to Python 3.11 to fix crashes during build
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
2023-06-26 19:07:18 +02:00
sfan5
f1c9daa169 ci: use a different mirror for freetype
GNU decided to break theirs
2023-06-13 10:01:05 +02:00
Kacper Michajłow
1c82d6ae7a ci/mingw: add dlltool to the meson crossfile 2023-06-08 19:52:10 -04:00
Kacper Michajłow
8037320920 ci/mingw: update dependencies versions 2023-06-08 06:26:06 -04:00
Kacper Michajłow
5c7a9490cb ci/msys2: enable egl-angle-lib
Now that it has been fixed upstream we can enable and test if it links
correctly.
2023-06-08 06:25:23 -04:00
Kacper Michajłow
e836b58050 ci: use auto detection for lua library version for MSYS 2023-04-29 19:07:45 +00:00
sfan5
9a8b31707e ci: add a workflow that lints commit messages 2023-04-08 17:08:57 +02:00
Kacper Michajłow
21301dc12d ci/mingw: require libplacebo-next
libplacebo is build by us, so we can explicitly enable it.
2023-03-28 09:23:38 -07:00
Dudemanguy
e82d9045a4 ci: separate meson tests and reorganize build steps
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).
2023-03-02 15:45:27 +00:00
Dudemanguy
6153242157 ci: use the same arguments when running the built mpv binary
A couple of places didn't have -v --no-config so just use them
everywhere.
2023-03-02 15:45:27 +00:00
Dudemanguy
3535e326dc player: remove unittest option
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.
2023-03-02 15:45:27 +00:00
Kacper Michajłow
e4e3a8fc0b ci: pack mingw64 meson build instead of waf 2023-01-31 14:50:26 +00:00
Kacper Michajłow
7151b5122a ci: separate meson/waf build dirs 2023-01-31 14:50:26 +00:00
Kacper Michajłow
08d11e8c5d ci: use meson compile instead of ninja directly 2023-01-31 14:50:26 +00:00
Kacper Michajłow
2868ecf2ac ci: do not print compile commands
It only shadows warnings/errors and makes log files bloated.
2023-01-31 14:50:26 +00:00
Kacper Michajłow
bc1af592db ci: migrate MSYS2 build to GitHub Actions 2023-01-28 01:03:12 +00:00
Thomas Weißschuh
44179398b0 ci: run meson tests 2023-01-19 22:15:14 +00:00
sfan5
7f5bcd7244 ci: upload resulting binary of mingw64 build 2022-11-01 16:30:59 +01:00
sfan5
f67a56b830 ci/mingw64: refresh build scripts
- newer library versions
- use libplacebo submodules
- prefer meson where possible
- fix minor details
2022-11-01 16:30:59 +01:00
Dudemanguy
6ebc4928c5 ci: use meson setup build instead of meson build
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).

*: 3c7ab542c0
2022-10-29 17:55:33 +00:00
Dudemanguy
c3c1978330 ci/build-freebsd.sh: remove nonexistent option
Mistakenly added in aeb4792cb6804a78974faa329a9c9f8a7bb5fa7b.
2022-10-27 18:42:12 +00:00
Jan Ekström
8b81f45e1b ci: require pipewire to be enabled for Tumbleweed Linux builds 2022-10-26 21:56:33 +03:00
Aaron Boxer
aeb4792cb6 vo_vaapi_wayland: remove, as it is superceded by vo_dmabuf_wayland 2022-10-26 18:41:47 +00:00
Thomas Weißschuh
891c9c869f ao_pipewire: test on FreeBSD 2022-08-18 09:16:52 -07:00
Jan Ekström
1e1956e15b ci/build-mingw64: enable test building
Not currently run, but adds coverage for compiled code.
2022-06-15 21:19:10 +03:00
Jan Ekström
5d9af3a9dd ci/build-mingw64: bump dependencies 2022-06-15 21:19:10 +03:00
Jan Ekström
05a3affc58 ci/build-mingw64: switch to fossils directory for zlib
This contains current as well as previous versions, while the root
directory only contains the latest version.
2022-06-15 21:19:10 +03:00
Jan Ekström
312a555053 ci/build-tumbleweed: attempt to enable unit tests in CI 2022-06-15 21:19:10 +03:00
Jan Ekström
3a52159286 ci/mingw64: add git libplacebo for gpu-next
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.
2022-06-07 21:04:00 +03:00
Jan Ekström
a10e3ab230 ci/mingw64: make meson crossfile global
This enables it to be utilized for dependencies such as libplacebo.
2022-06-07 21:02:22 +03:00
Dudemanguy
95257eaa88 ci/build-freebsd: enable sndio ao during build
We have this ao again since #9298 so let's run it through the CI.
2022-01-22 19:06:31 +00:00
Dudemanguy
31780a6db5 ci: add meson builds
Update the github workflows to also do meson builds for every OS.
Additionally, make every workflow execute the built mpv executable
(except for windows and FreeBSD's waf executable) to make sure that it
runs. As an aside, FreeBSD unfortunately is a bit less elegant since it
is in a VM.
2021-11-14 19:13:10 +00:00