0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 03:52:22 +02:00
Commit Graph

147 Commits

Author SHA1 Message Date
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
nanahi
29c250c8d8 github/workflows: ignore more files from build workflow
Exclude more files not participating in the build process,
including README.md, to achieve the original goal of preventing
artifacts comment spam.
2024-02-07 14:44:01 +00:00
Kacper Michajłow
7616190aa4 github/workflows: revert to github-script@v6
There is an upstream regression in v7. Use v6 until Node 16 is still
available.

See: https://github.com/actions/github-script/issues/448
2024-02-05 11:13:18 +01:00
Kacper Michajłow
7b67b1ddd3 github/workflows: update actions package versions 2024-01-26 03:28:55 +00: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
Kacper Michajłow
a56d5c7fa1 github/workflows: disable MSYS 32-bit builds
While mpv can be build for 32-bit platforms, MSYS started dropping some
of the 32-bit packages [1]. We cannot be asked to monitor and fix CI build
each time a dependency package randomly disappears [2].

Disable MSYS 32-bit builds if the support for this platforms is phased
out upstream. Sadly this will reduce our build coverage.

[1] https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages
[2] fff2fa3711

See also: https://github.com/msys2/MINGW-packages/issues/19747
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: fff2fa3711
2024-01-12 17:19:25 +01:00
nanahi
9b001b448c github/issue_template: unify spellings
"behavior" is written in US English form in all templates except here.
2023-12-12 18:56:40 +01:00
nanahi
415901dedd github/issue_template: request uploading attachments to github
https://0x0.st/ has a maximum retention period of 1 year, and much less
for larger files. Uploading them directly to github issue avoids this,
which most people are already doing anyway because of greater convenience.

log file: don't request 0x0.st.
sample files: recommend github first.
2023-12-12 18:56:40 +01:00
nanahi
ebb7fbc5d2 github/issue_template: unify requested information across templates
Add more and unify requested information:

windows, linux, others: request GPU model to provide more info about
known hardware limitations and hardware/driver combo bugs.
windows, others: request general GPU info.
build: request meson version.
windows, linux, others: request backtrace in case of crash.
all: clarify the language of not attaching a log file.
2023-12-12 18:56:40 +01:00
Kacper Michajłow
8884902d8b Revert "github/workflows: install xxhash on msys2"
This reverts commit 67aa568437.
2023-12-04 09:56:27 +01:00
Dudemanguy
67aa568437 github/workflows: install xxhash on msys2
msys added xxhash has a makedep for libplacebo* which means we need to
install it in the CI as well if we want to build against it.

*: 07f4c34d22
2023-11-30 15:58:58 +00:00
Kacper Michajłow
48ac5215cf github/workflows: use ubuntu-latest host for freebsd
In the pursuit of stability.

It is slower and QEMU-based, but if this isn't stable, I don't know what
will be.

Bump the timeout to 30 minutes, just in case. It seems to take 12-15
minutes to finish.
2023-10-25 13:51:20 +00:00