1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-16 12:17:12 +00:00
Commit Graph

140 Commits

Author SHA1 Message Date
Kacper Michajłow
1edc02174f workflows/comment: don't error out on closed pull requests
If the pull request is not found or is not open, it should not be
treated as a critical error. This situation can occur after a merge.
There is no reliable way to query a pull request from a workflow_run
event, so this has been made a non-error log.
2024-10-21 21:11:24 +02:00
Kacper Michajłow
649e397034 workflows/build: remove safe.directory git config
It has been set in our docker container.
2024-10-21 21:02:38 +02:00
Kacper Michajłow
be9b3ccb41 ci/win32: use upstream meson
The fix for response files escaping issues has been merged.

See: https://github.com/mesonbuild/meson/pull/11715
2024-10-21 04:11:25 +02:00
Dudemanguy
09bbca8770 ci: refactor ci so common args are picked from one location
Mostly. It is annoying if we want to add some flag/option to all the cis
and then have to do it manually. Things easily get missed that way.
Skipped powershell because of course I'm not going to deal with that.
2024-10-18 14:02:51 +00:00
Kacper Michajłow
946b29d4f4 ci/macos: shift macOS versions to 13-15
Homebrew does support 3 latest macOS versions, so while macOS 12 still
works it takes 1h 40m 7s to build. It is bit too much...

While we drop macOS 12, add macOS 15 as it is available now.
2024-10-08 18:35:44 +02:00
Nathan Ruiz
bee3598ba6 ci/lint: add python linting
Enabled the ruff python linter in CI, and resolved the issues that were
detected by it. Ruff was used due to it's faster checking compared with
other linters like pylint. This was added to resolve the python linting
request in #13608.
2024-10-06 22:15:08 +02:00
Kacper Michajłow
28bc58a3e8 Revert "ci/msys2: disable some features for 32-bit build"
No longer needed after 232919336d567b70330c43a41920238a56e100da.

This reverts commit 883a45fa3eb7347431c246d831cf8ece12da8676.
2024-10-06 21:50:59 +02:00
Dudemanguy
232919336d github/workflows: drop clang32
It's being dropped upstream* and recently lua51 was removed along with
luajit*. mingw32 already covers 32-bit support, and it's not like we're
in dire need of this so just remove it.

*: 89521b9f8d
*: 947a8592ca
2024-10-06 16:04:55 +00:00
Kacper Michajłow
883a45fa3e ci/msys2: disable some features for 32-bit build
See: 1e7737f090
2024-09-23 12:48:10 +02:00
llyyr
22620af459 workflows/comment: fix workflow syntax
Github doesn't evaluate expressions unless they're inside ${{ }}

See: https://github.com/mpv-player/mpv/actions?query=is%3Afailure+event%3Aworkflow_run
2024-09-17 18:52:35 +02:00
Kacper Michajłow
0eb5e914d9 ci/win32: add dav1d 2024-09-05 16:29:16 +02:00
Kacper Michajłow
d6eb85bb1a ci/linux: disable leak detector temporarily
After libass update our jobs started failing. It has been fixed upstream
already, but we need to wait for next stable release to have that.

See: 6e83137cdb
2024-09-01 19:27:51 +02:00
Kacper Michajłow
3cc3c9ced3 Revert "ci/mingw: don't run test on 32-bit binary"
Support for 32-bit binaries were restored.

See:
https://github.com/actions/runner-images/issues/9977
https://bugs.launchpad.net/ubuntu/+source/linux-signed-azure/+bug/2071445
https://launchpad.net/ubuntu/+source/linux-azure/6.8.0-1012.14

This reverts commit f47cbcd43967fca0d2ae8b5a0a409a6e3ed96528.
2024-08-16 12:57:56 +02:00
Kacper Michajłow
08935d5d21 ci/{mingw,win32}: specify nasm as it seems to be required now by libass
Fixes mingw and win32 builds after 1774117b80
2024-08-16 12:57:56 +02:00
Kacper Michajłow
763bcd3e52 ci/freebsd: update to 14.1 2024-08-07 13:09:21 +02:00
Kacper Michajłow
c4b963d775 workflows/fuzz: report OOMs and timeouts 2024-08-07 13:09:21 +02:00
Dudemanguy
06470899df github/workflows/{build,fuzz}: exclude pr/issue template paths 2024-07-30 14:08:24 +00:00
Kacper Michajłow
06da680630 ci/msys2: install cppwinrt
Will be useful for future commits.
2024-07-29 21:38:19 +02:00
Kacper Michajłow
481a5c0dc1 workflows/fuzz: run all sanitizers 2024-07-17 20:21:15 +02:00
Kacper Michajłow
202ecc17af ci: add fuzzing of pull requests for 20 minutes
To increase our testing coverage before merging. This uses already build
corpus and coverage info to test the modified code, if possible.

See: https://google.github.io/oss-fuzz/getting-started/continuous-integration
2024-07-14 01:18:51 +02:00
Kacper Michajłow
8a5989628c meson: add fuzzers alias for all fuzzer targets
Makes it easier to build only fuzzer binaries and avoid building
unnecessary targets from subprojects.
2024-06-24 17:36:53 +02:00
Kacper Michajłow
b64521ae10 ci/openbsd: bump to 7.5 and remove libplacebo subproject
The available version is enough now.
2024-06-22 16:12:14 +02:00
Kacper Michajłow
2887b2e64c meson: increase FFmpeg minimum required version to 6.1 2024-06-22 16:12:14 +02:00
Kacper Michajłow
22aa570cf8 ci/mingw: install wine optionally 2024-06-07 21:12:38 +02:00
Kacper Michajłow
9f8b4b38c9 ci/mingw: use Ubuntu 24.04
This effectively bumps minimal MinGW-w64 requirement to v11.0.1. As it
is available in the latest Ubuntu LTS.

While at it clean installed packages list.
2024-06-07 21:12:38 +02:00
Kacper Michajłow
de1c0b5464 ci/msys2: re-enable 32-bit builds
The 32-bit builds were disabled, because some packages started
disappearing. MSYS2 is slowly phasing out 32-bit support, but since we
still support it we have to test it somehow. Recent brakage with calling
convention mismatch would be spotted a lot quicker. So enable it, but
with some, not available, packages disabled.

This reverts a56d5c7fa1f20d917a179be894580a4c66c374dc
2024-06-07 21:12:38 +02:00
Kacper Michajłow
f47cbcd439 ci/mingw: don't run test on 32-bit binary
Ubuntu 24.04 linux-azure kernel, used on GHA, is compiled with
CONFIG_COMPAT_32BIT_TIME=n. This prevents running any 32-bit binaries
through wine, so disable tests when doing i686 build. 32-bit builds are
still tested on Windows.

See: https://github.com/actions/runner-images/issues/9977
2024-06-07 21:12:38 +02:00
Kacper Michajłow
ac5d27fce5 ci/mingw: enable javascript support 2024-06-07 20:07:29 +02:00
Kacper Michajłow
bec3f606cf ci/mingw: run meson tests 2024-06-03 19:18:06 +02:00
Kacper Michajłow
bb078b8303 ci/mingw: add exe_wrapper to cross file
Allows running complied binaries on build machine.
2024-06-03 19:18:06 +02:00
Kacper Michajłow
772b4fdde2 workflows/comment: more newline fixes to make formatting work 2024-05-20 19:48:18 +02:00
Kacper Michajłow
8fea10502e workflows/comment: add missing escape fix
It hid in local version on script.
2024-05-20 19:29:02 +02:00
der richter
d4eff86330 ci/mac: silence unnecessary reinstall warnings 2024-05-20 18:53:01 +02:00
Kacper Michajłow
b03fa20015 ci: save cache also on failures
This makes rebuilds after build failures significantly faster. There is
no reason to discard newly acquired ccache entries.
2024-05-20 18:06:35 +02:00
Kacper Michajłow
7924afcba0 workflows/cleanup_caches: minor cosmetic changes 2024-05-20 18:04:54 +02:00
Kacper Michajłow
2697a8c362 workflows/comment: refactor comment workflow to not use github-script
It is not actively maintained, third-party, javascript wrapper for GitHub
API. The v7 version has issues and most importantly, we don't need a
JavaScript interface to create a comment. Use the first-party CLI tool
and jq.

Sort artifacts by name while at it.
2024-05-20 18:04:54 +02:00
Kacper Michajłow
0c85b9915f ci/cleanup_caches: group by cache prefixes too
I've simplified this too much during refactoring, forgot about this. We
need to preserve the latest cache with each prefix.

Fixes: c6b950ae1e722dbe8c2414017a3c521f8c5730e9
2024-05-19 21:34:37 +02:00
Kacper Michajłow
c6b950ae1e ci: clear old caches to avoid master branch cache trashing
GitHub cache action doesn't allow updating cache with the same key. We
workaround this by saving the cache with a unique key each time (added
timestamp). This works fine, but since there is a limit on cumulative
storage size for all caches, it can force the master branch cache to be
evicted if a lot of PRs are updated. Cache is evicted with LRU policy,
so as long as master branch cache is used it should stay alive, but it
can happen that only PR specifc caches were only used. As a reminder,
PRs can access the master cache, but they are isolated from each other.
Because of this, it is important to keep the master cache, which is
available to all, alive longer.

The solution is to remove all old caches per branch. This is done in a
separate workflow that validates all cache items and removes ones that
would never be used anyway. If PR is closed all caches per branch are
removed. In other cases most recently used one is preserved.

It is done in a separate workflow to limit cache manipulation access.
GitHub workflows triggered by pull_request event are run in the context
of the fork and does not have access to our token, which is good thing.
Also it is quite awkward to get PR number which triggered build
workflow, so just do a full cleanup pass.
2024-05-19 20:35:34 +02:00
Kacper Michajłow
0988ac85b5 ci: don't pin Ubuntu version where it doesn't matter
Use ubuntu-latest for all jobs that uses container under the hood
anyway, exact Ubuntu version does not matter, so use latest stable one.
2024-05-19 19:10:19 +02:00
Kacper Michajłow
29388538f3 ci/mingw: clean installed packages 2024-05-19 19:10:19 +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
85db6a9f15 ci/win32: use ccache 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
281c66a815 ci/win32: remove Strawberry Perl from path
It provides broken tools like diff, patch.

Also fix PATH in test stage
2024-05-18 23:22:18 +02:00
Kacper Michajłow
0084fbd458 github/workflows: add lua linting 2024-05-12 20:06:39 +02:00
Kacper Michajłow
425c6d03d7 github/workflows: link MSVC artifacts in comments 2024-05-06 22:01:17 +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
der richter
cb75ecf19f github/workflows: add swift linting 2024-05-05 18:30:58 +02:00
Kacper Michajłow
fbfc9d22c7 ci: add fuzzers build test 2024-04-27 02:47:47 +02:00
Andarwinux
77e1cfb85f ci/msys2: fix vulkan package name 2024-03-24 16:55:38 +01:00