diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4ea558d96e..595c91f28d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -205,6 +205,47 @@ jobs: run: | cat ./build/meson-logs/testlog.txt + openbsd: + runs-on: ubuntu-latest # until https://github.com/actions/runner/issues/385 + timeout-minutes: 30 # avoid any weirdness with the VM + steps: + - uses: actions/checkout@v4 + - name: Test in OpenBSD VM + uses: cross-platform-actions/action@v0.23.0 + with: + operating_system: openbsd + version: '7.4' + run: | + sudo pkg_add -U \ + cmake \ + ffmpeg \ + git \ + libarchive \ + libbluray \ + libcaca \ + libcdio-paranoia \ + libdvdnav \ + libiconv \ + libv4l \ + libxkbcommon \ + luajit \ + meson \ + openal \ + pkgconf \ + pulseaudio \ + python3 \ + rubberband \ + sdl2 \ + shaderc \ + spirv-cross \ + spirv-headers \ + uchardet \ + vulkan-loader \ + vulkan-headers \ + zimg + ./ci/build-openbsd.sh + meson test -C build + freebsd: runs-on: ubuntu-latest # until https://github.com/actions/runner/issues/385 timeout-minutes: 30 # avoid any weirdness with the VM diff --git a/ci/build-openbsd.sh b/ci/build-openbsd.sh new file mode 100755 index 0000000000..f2b09ac905 --- /dev/null +++ b/ci/build-openbsd.sh @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +# libplacebo on openBSD is too old; use a subproject +rm -rf subprojects +mkdir -p subprojects +git clone https://code.videolan.org/videolan/libplacebo.git \ + --depth 1 --recurse-submodules subprojects/libplacebo + +meson setup build \ + -Dlibmpv=true \ + -Dlua=enabled \ + -Dopenal=enabled \ + -Dpulse=enabled \ + -Dtests=true \ + -Dvulkan=enabled \ + -Ddvdnav=enabled \ + -Dcdda=enabled + +meson compile -C build +./build/mpv -v --no-config