summaryrefslogtreecommitdiffstats
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml70
1 files changed, 29 insertions, 41 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 280874bb95..54dfc80bc1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,6 +10,8 @@ on:
- 'DOCS/**'
- 'TOOLS/lua/**'
- '.editorconfig'
+ - '.github/ISSUE_TEMPLATE/**'
+ - '.github/PULL_REQUEST_TEMPLATE'
- '.gitignore'
- 'Copyright'
- 'README.md'
@@ -20,6 +22,8 @@ on:
- 'DOCS/**'
- 'TOOLS/lua/**'
- '.editorconfig'
+ - '.github/ISSUE_TEMPLATE/**'
+ - '.github/PULL_REQUEST_TEMPLATE'
- '.gitignore'
- 'Copyright'
- 'README.md'
@@ -32,14 +36,14 @@ jobs:
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_DIR: ${{ github.workspace }}/.ccache
CCACHE_MAXSIZE: 500M
- WINE: ${{ matrix.wine }}
strategy:
fail-fast: false
matrix:
include:
- target: i686-w64-mingw32
+ wine: wine32
- target: x86_64-w64-mingw32
- wine: wine
+ wine: wine64
steps:
- uses: actions/checkout@v4
@@ -54,18 +58,11 @@ jobs:
key: ${{ matrix.target }}-${{ steps.get_time.outputs.timestamp }}
restore-keys: ${{ matrix.target }}-
- # For LuaJIT build
- - name: Enable multilib
- if: ${{ matrix.target == 'i686-w64-mingw32' }}
- run: |
- sudo dpkg --add-architecture i386
- sudo apt-get update
- sudo apt-get install -y gcc-multilib
-
- name: Install dependencies
run: |
+ sudo dpkg --add-architecture i386
sudo apt-get update
- sudo apt-get install -y ccache g++-mingw-w64 meson nasm ninja-build pkg-config ${{ matrix.wine }}
+ sudo apt-get install -y ccache g++-mingw-w64 gcc-multilib meson nasm ninja-build pkg-config ${{ matrix.wine }}
- name: Install Meson Wraps
run: |
@@ -91,14 +88,12 @@ jobs:
cat ./mingw_build/meson-logs/meson-log.txt
- name: Functional test
- if: ${{ matrix.wine }}
run: |
cd artifact && wine ./mpv.com -v --no-config
env:
WINEDEBUG: '+loaddll'
- name: Run meson tests
- if: ${{ matrix.wine }}
id: tests
run: |
meson test -C mingw_build
@@ -152,14 +147,10 @@ jobs:
key: x86_64-windows-msvc-${{ steps.get_time.outputs.timestamp }}
restore-keys: x86_64-windows-msvc-
- # https://github.com/mesonbuild/meson/pull/11715
- name: Install dependencies
run: |
- git clone https://github.com/kasper93/meson --depth 1 -b 8981
- python -m pip install build wheel
- python -m build --wheel --no-isolation meson
- python -m pip install (Get-Item ./meson/dist/meson-*-py3-none-any.whl).FullName
- choco install ccache
+ python -m pip install meson
+ choco install ccache nasm
- name: Update Meson WrapDB
run: |
@@ -175,6 +166,7 @@ jobs:
run: |
$env:PATH = ($env:PATH -split ';' | Where-Object { $_ -ne 'C:\Program Files\LLVM\bin' -and `
$_ -ne 'C:\Strawberry\c\bin' }) -join ';'
+ $env:PATH += ';C:\Program Files\NASM'
Import-Module "$env:VS\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath $env:VS -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64"
./ci/build-win32.ps1
@@ -222,17 +214,17 @@ jobs:
cxx:
- "clang++"
os:
- - "macos-12"
- "macos-13"
- "macos-14"
+ - "macos-15"
include:
- - os: "macos-12"
- arch: "intel"
- os: "macos-13"
arch: "intel"
- os: "macos-14"
arch: "arm"
xcode: "Xcode_15.2"
+ - os: "macos-15"
+ arch: "arm"
steps:
- uses: actions/checkout@v4
@@ -293,6 +285,7 @@ jobs:
env:
CC: "${{ matrix.config.cc }}"
CXX: "${{ matrix.config.cxx }}"
+ ASAN_OPTIONS: "halt_on_error=1:abort_on_error=1:print_summary=1:detect_leaks=0"
strategy:
matrix:
config:
@@ -307,11 +300,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Install dependencies
- run: |
- # workaround to avoid "fatal: unsafe repository" error
- git config --global --add safe.directory "$GITHUB_WORKSPACE"
-
- name: Build with meson
id: build
run: |
@@ -349,20 +337,20 @@ jobs:
--werror \
-Dc_args="-Wno-error=deprecated -Wno-error=deprecated-declarations" \
-Dfuzzers=true -Dlibmpv=true -Dcplayer=false
- meson compile -C build
+ meson compile -C build fuzzers
- name: Print meson log
if: ${{ failure() && steps.build.outcome == 'failure' }}
run: |
cat ./build/meson-logs/meson-log.txt
- linux-ffmpeg-4-4:
+ linux-ffmpeg-6-1:
runs-on: ubuntu-latest
container:
- # We want to test ffmpeg 4.4 which alpine 3.15 has exactly.
+ # We want to test ffmpeg 6.1.1 which alpine 3.19 has exactly.
# Furthermore, this is a very minimal build of mpv without commonly
# used features to test build compatibility. Musl is a nice bonus as well
- image: alpine:3.15
+ image: alpine:3.19
steps:
- uses: actions/checkout@v4
- name: Install dependencies
@@ -383,15 +371,14 @@ jobs:
libxrandr-dev \
libxpresent-dev \
libxscrnsaver-dev \
+ meson \
musl-dev \
- py3-pip \
samurai
- pip install meson
- name: Build with meson
id: build
run: |
- ./ci/build-linux-old.sh
+ ./ci/build-linux-old.sh
- name: Print meson log
if: ${{ failure() && steps.build.outcome == 'failure' }}
@@ -414,10 +401,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Test in OpenBSD VM
- uses: cross-platform-actions/action@v0.23.0
+ uses: cross-platform-actions/action@v0.25.0
with:
operating_system: openbsd
- version: '7.4'
+ version: '7.5'
run: |
sudo pkg_add -U \
cmake \
@@ -429,6 +416,7 @@ jobs:
libcdio-paranoia \
libdvdnav \
libiconv \
+ libplacebo \
libv4l \
libxkbcommon \
luajit \
@@ -455,10 +443,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Test in FreeBSD VM
- uses: cross-platform-actions/action@v0.23.0
+ uses: cross-platform-actions/action@v0.25.0
with:
operating_system: freebsd
- version: '14.0'
+ version: '14.1'
run: |
sudo pkg update
sudo pkg install -y \
@@ -474,6 +462,7 @@ jobs:
libcaca \
libcdio-paranoia \
libdvdnav \
+ libdisplay-info \
libplacebo \
libXinerama \
libxkbcommon \
@@ -504,7 +493,6 @@ jobs:
fail-fast: false
matrix:
sys:
- - clang32
- clang64
- mingw32
- mingw64
@@ -547,9 +535,9 @@ jobs:
vulkan-devel:p
- name: Install dependencies
- if: ${{ matrix.sys != 'clang32' && matrix.sys != 'mingw32' }}
+ if: ${{ matrix.sys != 'mingw32' }}
run: |
- pacboy --noconfirm -S {angleproject,rst2pdf,rubberband}:p
+ pacboy --noconfirm -S {angleproject,cppwinrt,rst2pdf,rubberband}:p
- name: Build with meson
id: build