1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-11 09:29:29 +00:00
Commit Graph

159 Commits

Author SHA1 Message Date
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 a56d5c7fa1
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: c6b950ae1e
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
der richter
541e00fcdb github/issue_template: ask for possible sample files on feature request 2024-05-17 20:30:43 +02:00
der richter
ae894d9b9b github/issue_template: rework system info section and provide commands 2024-05-17 20:30:43 +02:00
der richter
247eac729c github/issue_template: move mpv information into its own section 2024-05-17 20:30:43 +02:00
der richter
ea66507dd1 github/issue_template: add information on how to create backtraces 2024-05-17 20:30:43 +02:00
der richter
3058028168 github/issue_template: mention (nightly) builds and packages for testing
mention our windows and macOS nightly builds and also link to our mpv.io
installation page.
2024-05-17 20:30:43 +02:00
der richter
e9c98c1f2f github/issue_template: reword file upload instruction 2024-05-17 20:30:43 +02:00
der richter
9f2590b6d1 github/issue_template: reword log file instructions 2024-05-17 20:30:43 +02:00
der richter
704863a016 github/issue_template: be more specific about performance-related issues 2024-05-17 20:30:43 +02:00
der richter
2a68a6cd9e github/issue_template: add checkboxes as instruction check 2024-05-17 20:30:43 +02:00
der richter
d4d5fa0084 github/issue_template: rework issue templates with github forms 2024-05-17 20:30:43 +02:00
der richter
7fd305d4ea github/issue_template: mention github Discussions for questions 2024-05-17 20:30:43 +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
Kacper Michajłow
2babe02f0f github/issue_template: remove question template
For less formal questions GitHub discussions should be used instead.
2024-04-16 19:27:57 +02:00
Andarwinux
77e1cfb85f ci/msys2: fix vulkan package name 2024-03-24 16:55:38 +01:00
Kacper Michajłow
83da97f955 github/issue_template: add note about --profile=fast and --hwdec 2024-03-17 14:59:08 +00:00
Dudemanguy
4179d58389 github/workflows: generate html and pdf in docs job as well
Not sure if this is particularly useful, but we might as well generate
these as well. Also use the docutils wrapper since that's what the meson
build does.
2024-03-06 22:49:07 +00:00
Kacper Michajłow
665a472098 github/workflows: update actions/upload-artifact to v4 2024-03-05 19:48:14 +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
LaserEyess
a0447a370e ci: add OpenBSD 2024-02-25 14:29:18 +01:00
der richter
0f36a09881 github/workflows: add macOS 14 arm runner with most recent xcode 2024-02-24 20:04:16 +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
der richter
555bdf78b2 github/workflows: link macOS artifacts in comments 2024-02-24 20:04:16 +01:00
der richter
0ed023653a github/workflows: bundle macOS App and upload it as artifact
also add architecture to artifact name
2024-02-24 20:04:16 +01:00
Kacper Michajłow
7454edc556 github/workflows: update cross-platform-actions to v0.23.0
- Use hardware accelerated virtualization on Linux runners
- Update to FreeBSD 14.0
2024-02-23 22:37:37 +02:00
Dudemanguy
3fd840f85d github/workflows: switch back to luajit for macos
Homebrew finally pulled the plug on lua 5.1*, and it is no more. So we
have to change to a different lua package and the only other choice is
luajit (no 5.2 in homebrew). We used to use luajit for the ci, but
649556b2b6 switched it to lua 5.1. As
explained there, luajit 2.0 was horribly bugged and not usuable for mpv
and the build had to do dumb hacks to work around it. I expected 5.1 to
last a bit longer than a couple of years, but luckily it seems like
luajit in homebrew now pulls a luajit 2.1 version (some rolling release
thing or however upstream works). The details don't really matter for
us since 2.1 does not have all the awful issues that 2.0 used to have.
So just switch to luajit again.

*: 57d73df3ba
2024-02-18 00:39:50 +00:00