2021-05-06 21:10:21 +00:00
|
|
|
name: build
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
- ci
|
|
|
|
- 'release/**'
|
2023-09-24 03:13:41 +00:00
|
|
|
paths-ignore:
|
|
|
|
- 'DOCS/**'
|
|
|
|
- 'TOOLS/lua/**'
|
2024-02-06 15:23:33 +00:00
|
|
|
- '.editorconfig'
|
2024-07-29 22:17:57 +00:00
|
|
|
- '.github/ISSUE_TEMPLATE/**'
|
|
|
|
- '.github/PULL_REQUEST_TEMPLATE'
|
2024-02-06 15:23:33 +00:00
|
|
|
- '.gitignore'
|
|
|
|
- 'Copyright'
|
|
|
|
- 'README.md'
|
|
|
|
- 'RELEASE_NOTES'
|
2021-05-06 21:10:21 +00:00
|
|
|
pull_request:
|
|
|
|
branches: [master]
|
2023-09-24 03:13:41 +00:00
|
|
|
paths-ignore:
|
|
|
|
- 'DOCS/**'
|
|
|
|
- 'TOOLS/lua/**'
|
2024-02-06 15:23:33 +00:00
|
|
|
- '.editorconfig'
|
2024-07-29 22:17:57 +00:00
|
|
|
- '.github/ISSUE_TEMPLATE/**'
|
|
|
|
- '.github/PULL_REQUEST_TEMPLATE'
|
2024-02-06 15:23:33 +00:00
|
|
|
- '.gitignore'
|
|
|
|
- 'Copyright'
|
|
|
|
- 'README.md'
|
|
|
|
- 'RELEASE_NOTES'
|
2021-05-06 21:10:21 +00:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
mingw:
|
2024-05-18 18:37:03 +00:00
|
|
|
runs-on: ubuntu-24.04
|
2023-07-23 10:36:38 +00:00
|
|
|
env:
|
|
|
|
CCACHE_BASEDIR: ${{ github.workspace }}
|
|
|
|
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
|
|
|
CCACHE_MAXSIZE: 500M
|
2021-05-06 21:10:21 +00:00
|
|
|
strategy:
|
2023-07-23 10:34:40 +00:00
|
|
|
fail-fast: false
|
2021-05-06 21:10:21 +00:00
|
|
|
matrix:
|
2024-06-06 21:23:35 +00:00
|
|
|
include:
|
|
|
|
- target: i686-w64-mingw32
|
2024-08-14 15:47:37 +00:00
|
|
|
wine: wine32
|
2024-06-06 21:23:35 +00:00
|
|
|
- target: x86_64-w64-mingw32
|
2024-08-14 15:47:37 +00:00
|
|
|
wine: wine64
|
2021-05-06 21:10:21 +00:00
|
|
|
steps:
|
2024-01-24 17:29:49 +00:00
|
|
|
- uses: actions/checkout@v4
|
2021-05-06 21:10:21 +00:00
|
|
|
|
2023-07-23 10:36:38 +00:00
|
|
|
- name: Get time
|
|
|
|
id: get_time
|
|
|
|
run: echo "timestamp=`date +%s%N`" >> $GITHUB_OUTPUT
|
|
|
|
|
2024-05-19 17:25:38 +00:00
|
|
|
- name: Restore cache
|
|
|
|
uses: actions/cache/restore@v4
|
2023-07-23 10:36:38 +00:00
|
|
|
with:
|
|
|
|
path: ${{ env.CCACHE_DIR }}
|
|
|
|
key: ${{ matrix.target }}-${{ steps.get_time.outputs.timestamp }}
|
|
|
|
restore-keys: ${{ matrix.target }}-
|
|
|
|
|
2024-06-06 21:23:35 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
2024-08-14 15:47:37 +00:00
|
|
|
sudo dpkg --add-architecture i386
|
2024-06-06 21:23:35 +00:00
|
|
|
sudo apt-get update
|
2024-08-14 15:47:37 +00:00
|
|
|
sudo apt-get install -y ccache g++-mingw-w64 gcc-multilib meson nasm ninja-build pkg-config ${{ matrix.wine }}
|
2021-05-06 21:10:21 +00:00
|
|
|
|
2024-06-05 19:20:27 +00:00
|
|
|
- name: Install Meson Wraps
|
|
|
|
run: |
|
|
|
|
mkdir subprojects -p
|
|
|
|
meson wrap install mujs
|
|
|
|
|
2022-09-27 13:13:02 +00:00
|
|
|
- name: Build libraries
|
|
|
|
run: |
|
|
|
|
./ci/build-mingw64.sh
|
|
|
|
env:
|
|
|
|
TARGET: ${{ matrix.target }}
|
|
|
|
|
2021-11-07 19:29:11 +00:00
|
|
|
- name: Build with meson
|
2023-02-26 19:05:49 +00:00
|
|
|
id: build
|
2021-05-06 21:10:21 +00:00
|
|
|
run: |
|
2023-01-29 06:31:44 +00:00
|
|
|
./ci/build-mingw64.sh meson pack
|
2021-05-06 21:10:21 +00:00
|
|
|
env:
|
|
|
|
TARGET: ${{ matrix.target }}
|
|
|
|
|
2021-11-07 19:29:11 +00:00
|
|
|
- name: Print meson log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
2021-11-07 19:29:11 +00:00
|
|
|
run: |
|
2024-05-21 20:52:02 +00:00
|
|
|
cat ./mingw_build/meson-logs/meson-log.txt
|
2021-11-07 19:29:11 +00:00
|
|
|
|
2023-08-20 11:54:28 +00:00
|
|
|
- name: Functional test
|
|
|
|
run: |
|
2024-05-19 01:17:46 +00:00
|
|
|
cd artifact && wine ./mpv.com -v --no-config
|
2023-08-20 11:54:28 +00:00
|
|
|
env:
|
|
|
|
WINEDEBUG: '+loaddll'
|
|
|
|
|
2024-05-21 20:52:02 +00:00
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
|
|
|
meson test -C mingw_build
|
|
|
|
|
|
|
|
- name: Print meson test log
|
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./mingw_build/meson-logs/testlog.txt
|
|
|
|
|
2024-02-25 21:53:22 +00:00
|
|
|
- uses: actions/upload-artifact@v4
|
2022-09-27 13:32:21 +00:00
|
|
|
with:
|
|
|
|
name: mpv-${{ matrix.target }}
|
|
|
|
path: mpv-git-*.zip
|
|
|
|
|
2024-05-19 17:25:38 +00:00
|
|
|
- name: Save Cache
|
|
|
|
uses: actions/cache/save@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
path: ${{ env.CCACHE_DIR }}
|
|
|
|
key: ${{ matrix.target }}-${{ steps.get_time.outputs.timestamp }}
|
|
|
|
|
2024-05-01 23:15:09 +00:00
|
|
|
win32:
|
|
|
|
runs-on: windows-latest
|
|
|
|
env:
|
|
|
|
VS: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise"
|
2024-05-12 18:57:31 +00:00
|
|
|
CC: "ccache clang"
|
|
|
|
CXX: "ccache clang++"
|
2024-05-01 23:15:09 +00:00
|
|
|
CC_LD: "lld"
|
|
|
|
CXX_LD: "lld"
|
|
|
|
WINDRES: "llvm-rc"
|
2024-05-12 18:57:31 +00:00
|
|
|
CCACHE_BASEDIR: ${{ github.workspace }}
|
|
|
|
CCACHE_DIR: "${{ github.workspace }}\\.ccache"
|
|
|
|
CCACHE_MAXSIZE: 500M
|
2024-05-01 23:15:09 +00:00
|
|
|
steps:
|
|
|
|
- name: Disable autocrlf
|
|
|
|
run: |
|
|
|
|
git config --global core.autocrlf false
|
|
|
|
git config --global core.eol lf
|
|
|
|
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
|
2024-05-12 18:57:31 +00:00
|
|
|
- name: Get time
|
|
|
|
id: get_time
|
|
|
|
run: |
|
|
|
|
"timestamp=$((Get-Date).Ticks)" >> $env:GITHUB_OUTPUT
|
|
|
|
|
2024-05-19 17:25:38 +00:00
|
|
|
- name: Restore cache
|
|
|
|
uses: actions/cache/restore@v4
|
2024-05-12 18:57:31 +00:00
|
|
|
with:
|
|
|
|
path: ${{ env.CCACHE_DIR }}
|
|
|
|
key: x86_64-windows-msvc-${{ steps.get_time.outputs.timestamp }}
|
|
|
|
restore-keys: x86_64-windows-msvc-
|
|
|
|
|
2024-05-01 23:15:09 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
2024-09-24 01:22:02 +00:00
|
|
|
python -m pip install meson
|
2024-08-16 10:35:10 +00:00
|
|
|
choco install ccache nasm
|
2024-05-01 23:15:09 +00:00
|
|
|
|
|
|
|
- name: Update Meson WrapDB
|
|
|
|
run: |
|
|
|
|
meson wrap update-db
|
2024-05-10 13:35:57 +00:00
|
|
|
# Explicitly download wraps, as nested projects may have older versions of them.
|
|
|
|
meson wrap install expat
|
|
|
|
meson wrap install harfbuzz
|
|
|
|
meson wrap install libpng
|
|
|
|
meson wrap install zlib
|
2024-05-01 23:15:09 +00:00
|
|
|
|
|
|
|
- name: Build
|
|
|
|
id: build
|
|
|
|
run: |
|
2024-05-06 01:35:33 +00:00
|
|
|
$env:PATH = ($env:PATH -split ';' | Where-Object { $_ -ne 'C:\Program Files\LLVM\bin' -and `
|
|
|
|
$_ -ne 'C:\Strawberry\c\bin' }) -join ';'
|
2024-09-03 16:44:49 +00:00
|
|
|
$env:PATH += ';C:\Program Files\NASM'
|
2024-05-01 23:15:09 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
- name: Print build log
|
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
|
|
|
|
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
2024-05-06 01:35:33 +00:00
|
|
|
$env:PATH = ($env:PATH -split ';' | Where-Object { $_ -ne 'C:\Program Files\LLVM\bin' -and `
|
|
|
|
$_ -ne 'C:\Strawberry\c\bin' }) -join ';'
|
2024-05-01 23:15:09 +00:00
|
|
|
Import-Module "$env:VS\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
|
|
|
|
Enter-VsDevShell -VsInstallPath $env:VS -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64"
|
|
|
|
meson test -C build mpv:
|
|
|
|
|
|
|
|
- name: Print meson test log
|
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/testlog.txt
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
name: mpv-x86_64-windows-msvc
|
|
|
|
path: |
|
|
|
|
build/mpv.???
|
2024-05-17 23:35:18 +00:00
|
|
|
build/vulkan-*.dll
|
2024-05-01 23:15:09 +00:00
|
|
|
!build/mpv.lib
|
|
|
|
|
2024-05-19 17:25:38 +00:00
|
|
|
- name: Save Cache
|
|
|
|
uses: actions/cache/save@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
path: ${{ env.CCACHE_DIR }}
|
|
|
|
key: x86_64-windows-msvc-${{ steps.get_time.outputs.timestamp }}
|
|
|
|
|
2021-07-23 09:24:38 +00:00
|
|
|
macos:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
cc:
|
|
|
|
- "clang"
|
2023-09-26 12:12:31 +00:00
|
|
|
cxx:
|
|
|
|
- "clang++"
|
2021-07-23 09:24:38 +00:00
|
|
|
os:
|
2023-09-21 17:39:57 +00:00
|
|
|
- "macos-13"
|
2024-02-24 18:14:23 +00:00
|
|
|
- "macos-14"
|
2024-10-08 16:09:34 +00:00
|
|
|
- "macos-15"
|
2024-02-21 20:12:40 +00:00
|
|
|
include:
|
|
|
|
- os: "macos-13"
|
|
|
|
arch: "intel"
|
2024-02-24 18:14:23 +00:00
|
|
|
- os: "macos-14"
|
|
|
|
arch: "arm"
|
|
|
|
xcode: "Xcode_15.2"
|
2024-10-08 16:09:34 +00:00
|
|
|
- os: "macos-15"
|
|
|
|
arch: "arm"
|
2021-07-23 09:24:38 +00:00
|
|
|
steps:
|
2024-01-24 17:29:49 +00:00
|
|
|
- uses: actions/checkout@v4
|
2021-07-23 09:24:38 +00:00
|
|
|
|
2022-11-11 16:38:06 +00:00
|
|
|
- name: Remove stray upstream python binary symlinks under /usr/local
|
|
|
|
run: |
|
|
|
|
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete -print
|
|
|
|
brew unlink python && brew link --overwrite python
|
|
|
|
|
2024-02-24 18:14:23 +00:00
|
|
|
- name: Change Xcode version
|
|
|
|
if: ${{ matrix.xcode != '' }}
|
|
|
|
run: |
|
|
|
|
sudo xcode-select -s /Applications/${{ matrix.xcode }}.app
|
|
|
|
|
2021-07-23 09:24:38 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
brew update
|
2024-05-20 15:21:56 +00:00
|
|
|
brew install -q autoconf automake pkg-config libtool python freetype fribidi little-cms2 \
|
2024-02-22 19:02:43 +00:00
|
|
|
luajit libass ffmpeg meson uchardet mujs libplacebo molten-vk vulkan-loader vulkan-headers
|
2021-11-07 19:29:11 +00:00
|
|
|
|
|
|
|
- name: Build with meson
|
2023-02-26 19:05:49 +00:00
|
|
|
id: build
|
2021-11-07 19:29:11 +00:00
|
|
|
run: |
|
2022-11-12 14:27:07 +00:00
|
|
|
./ci/build-macos.sh
|
2021-11-07 19:29:11 +00:00
|
|
|
env:
|
|
|
|
CC: "${{ matrix.cc }}"
|
2023-09-26 12:12:31 +00:00
|
|
|
CXX: "${{ matrix.cxx }}"
|
2021-11-07 19:29:11 +00:00
|
|
|
TRAVIS_OS_NAME: "${{ matrix.os }}"
|
|
|
|
|
2024-02-21 20:12:40 +00:00
|
|
|
- name: Create App Bundle
|
|
|
|
run: |
|
|
|
|
meson compile -C build macos-bundle
|
|
|
|
tar -czvf mpv.tar.gz -C build mpv.app
|
|
|
|
|
2021-11-07 19:29:11 +00:00
|
|
|
- name: Print meson log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
2021-11-07 19:29:11 +00:00
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
2021-07-23 09:24:38 +00:00
|
|
|
|
2023-02-26 19:05:49 +00:00
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
|
|
|
meson test -C build
|
|
|
|
|
|
|
|
- name: Print meson test log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
2023-02-26 19:05:49 +00:00
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/testlog.txt
|
|
|
|
|
2024-02-21 20:12:40 +00:00
|
|
|
- uses: actions/upload-artifact@v4
|
|
|
|
with:
|
|
|
|
name: mpv-${{ matrix.os }}-${{ matrix.arch }}
|
|
|
|
path: mpv.tar.gz
|
|
|
|
|
2021-07-25 09:01:06 +00:00
|
|
|
linux:
|
2024-05-18 18:46:01 +00:00
|
|
|
runs-on: ubuntu-latest
|
2021-07-25 09:01:06 +00:00
|
|
|
container:
|
2022-04-19 03:19:31 +00:00
|
|
|
image: "registry.opensuse.org/home/mia/images/images/mpv-ci:stable-deps"
|
2021-07-25 09:01:06 +00:00
|
|
|
env:
|
2023-09-26 12:12:31 +00:00
|
|
|
CC: "${{ matrix.config.cc }}"
|
|
|
|
CXX: "${{ matrix.config.cxx }}"
|
2024-08-30 21:16:35 +00:00
|
|
|
ASAN_OPTIONS: "halt_on_error=1:abort_on_error=1:print_summary=1:detect_leaks=0"
|
2021-07-25 09:01:06 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2023-09-26 12:12:31 +00:00
|
|
|
config:
|
|
|
|
- {
|
|
|
|
cc: "gcc",
|
|
|
|
cxx: "g++",
|
|
|
|
}
|
|
|
|
- {
|
|
|
|
cc: "clang",
|
|
|
|
cxx: "clang++",
|
|
|
|
}
|
2021-07-25 09:01:06 +00:00
|
|
|
steps:
|
2024-01-24 17:29:49 +00:00
|
|
|
- uses: actions/checkout@v4
|
2021-07-25 09:01:06 +00:00
|
|
|
|
2021-11-07 19:29:11 +00:00
|
|
|
- name: Build with meson
|
2023-02-26 19:05:49 +00:00
|
|
|
id: build
|
2021-11-07 19:29:11 +00:00
|
|
|
run: |
|
2022-11-12 14:27:07 +00:00
|
|
|
./ci/build-tumbleweed.sh
|
2021-11-07 19:29:11 +00:00
|
|
|
|
|
|
|
- name: Print meson log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
2021-11-07 19:29:11 +00:00
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
2021-07-25 09:01:06 +00:00
|
|
|
|
2023-02-26 19:05:49 +00:00
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
|
|
|
meson test -C build
|
|
|
|
|
|
|
|
- name: Print meson test log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
2023-02-26 19:05:49 +00:00
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/testlog.txt
|
|
|
|
|
2024-04-26 23:35:38 +00:00
|
|
|
linux-fuzz:
|
2024-05-18 18:46:01 +00:00
|
|
|
runs-on: ubuntu-latest
|
2024-04-26 23:35:38 +00:00
|
|
|
container:
|
|
|
|
image: "registry.opensuse.org/home/mia/images/images/mpv-ci:stable-deps"
|
|
|
|
env:
|
|
|
|
CC: "clang"
|
|
|
|
CXX: "clang++"
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Build with meson
|
|
|
|
id: build
|
|
|
|
run: |
|
|
|
|
meson setup build \
|
|
|
|
--werror \
|
|
|
|
-Dc_args="-Wno-error=deprecated -Wno-error=deprecated-declarations" \
|
|
|
|
-Dfuzzers=true -Dlibmpv=true -Dcplayer=false
|
2024-06-24 14:22:21 +00:00
|
|
|
meson compile -C build fuzzers
|
2024-04-26 23:35:38 +00:00
|
|
|
|
|
|
|
- name: Print meson log
|
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
|
|
|
|
2024-06-21 17:22:29 +00:00
|
|
|
linux-ffmpeg-6-1:
|
2024-05-18 18:46:01 +00:00
|
|
|
runs-on: ubuntu-latest
|
2024-02-25 16:37:03 +00:00
|
|
|
container:
|
2024-06-21 17:22:29 +00:00
|
|
|
# We want to test ffmpeg 6.1.1 which alpine 3.19 has exactly.
|
2024-02-25 16:37:03 +00:00
|
|
|
# Furthermore, this is a very minimal build of mpv without commonly
|
|
|
|
# used features to test build compatibility. Musl is a nice bonus as well
|
2024-06-21 17:22:29 +00:00
|
|
|
image: alpine:3.19
|
2024-02-25 16:37:03 +00:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
apk update
|
|
|
|
apk add \
|
|
|
|
binutils \
|
|
|
|
ffmpeg-dev \
|
|
|
|
gcc \
|
|
|
|
git \
|
|
|
|
g++ \
|
|
|
|
libass-dev \
|
|
|
|
lua5.2-dev \
|
|
|
|
pulseaudio-dev \
|
|
|
|
libx11-dev \
|
|
|
|
libxfixes-dev \
|
|
|
|
libxkbcommon-dev \
|
|
|
|
libxrandr-dev \
|
|
|
|
libxpresent-dev \
|
|
|
|
libxscrnsaver-dev \
|
2024-06-21 17:22:29 +00:00
|
|
|
meson \
|
2024-02-25 16:37:03 +00:00
|
|
|
musl-dev \
|
|
|
|
samurai
|
|
|
|
|
|
|
|
- name: Build with meson
|
|
|
|
id: build
|
|
|
|
run: |
|
2024-10-16 22:27:13 +00:00
|
|
|
./ci/build-linux-old.sh
|
2024-02-25 16:37:03 +00:00
|
|
|
|
|
|
|
- name: Print meson log
|
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
|
|
|
|
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
|
|
|
meson test -C build
|
|
|
|
|
|
|
|
- name: Print meson test log
|
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/testlog.txt
|
|
|
|
|
2024-02-24 18:38:06 +00:00
|
|
|
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
|
2024-08-07 10:10:08 +00:00
|
|
|
uses: cross-platform-actions/action@v0.25.0
|
2024-02-24 18:38:06 +00:00
|
|
|
with:
|
|
|
|
operating_system: openbsd
|
2024-06-21 18:27:20 +00:00
|
|
|
version: '7.5'
|
2024-02-24 18:38:06 +00:00
|
|
|
run: |
|
|
|
|
sudo pkg_add -U \
|
|
|
|
cmake \
|
|
|
|
ffmpeg \
|
|
|
|
git \
|
|
|
|
libarchive \
|
|
|
|
libbluray \
|
|
|
|
libcaca \
|
|
|
|
libcdio-paranoia \
|
|
|
|
libdvdnav \
|
|
|
|
libiconv \
|
2024-06-21 18:27:20 +00:00
|
|
|
libplacebo \
|
2024-02-24 18:38:06 +00:00
|
|
|
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
|
|
|
|
|
2021-07-25 20:24:05 +00:00
|
|
|
freebsd:
|
2023-10-24 17:58:37 +00:00
|
|
|
runs-on: ubuntu-latest # until https://github.com/actions/runner/issues/385
|
|
|
|
timeout-minutes: 30 # avoid any weirdness with the VM
|
2021-07-25 20:24:05 +00:00
|
|
|
steps:
|
2024-01-24 17:29:49 +00:00
|
|
|
- uses: actions/checkout@v4
|
2021-07-25 20:24:05 +00:00
|
|
|
- name: Test in FreeBSD VM
|
2024-08-07 10:10:08 +00:00
|
|
|
uses: cross-platform-actions/action@v0.25.0
|
2021-07-25 20:24:05 +00:00
|
|
|
with:
|
2023-10-23 15:48:47 +00:00
|
|
|
operating_system: freebsd
|
2024-08-07 10:10:08 +00:00
|
|
|
version: '14.1'
|
2023-10-23 15:48:47 +00:00
|
|
|
run: |
|
|
|
|
sudo pkg update
|
|
|
|
sudo pkg install -y \
|
|
|
|
alsa-lib \
|
2021-11-07 19:29:11 +00:00
|
|
|
cmake \
|
2021-07-25 20:24:05 +00:00
|
|
|
evdev-proto \
|
|
|
|
ffmpeg \
|
2023-10-23 15:48:47 +00:00
|
|
|
git \
|
|
|
|
iconv \
|
2021-07-25 20:24:05 +00:00
|
|
|
jackit \
|
|
|
|
libarchive \
|
|
|
|
libbluray \
|
|
|
|
libcaca \
|
|
|
|
libcdio-paranoia \
|
|
|
|
libdvdnav \
|
2023-10-23 15:48:47 +00:00
|
|
|
libplacebo \
|
|
|
|
libXinerama \
|
|
|
|
libxkbcommon \
|
|
|
|
libxpresent \
|
|
|
|
libXv \
|
|
|
|
luajit \
|
|
|
|
meson \
|
2021-07-25 20:24:05 +00:00
|
|
|
mujs \
|
2023-10-23 15:48:47 +00:00
|
|
|
openal-soft \
|
2022-08-18 10:14:46 +00:00
|
|
|
pipewire \
|
2023-10-23 15:48:47 +00:00
|
|
|
pkgconf \
|
2021-07-25 20:24:05 +00:00
|
|
|
pulseaudio \
|
2023-10-23 15:48:47 +00:00
|
|
|
python3 \
|
2021-07-25 20:24:05 +00:00
|
|
|
rubberband \
|
|
|
|
sekrit-twc-zimg \
|
2023-10-23 15:48:47 +00:00
|
|
|
sdl2 \
|
|
|
|
sndio \
|
2021-07-25 20:24:05 +00:00
|
|
|
uchardet \
|
|
|
|
v4l_compat \
|
2023-10-23 15:48:47 +00:00
|
|
|
vulkan-headers \
|
|
|
|
wayland-protocols
|
|
|
|
./ci/build-freebsd.sh
|
|
|
|
meson test -C build
|
2022-10-27 17:26:21 +00:00
|
|
|
|
2023-01-10 04:54:25 +00:00
|
|
|
msys2:
|
|
|
|
runs-on: windows-latest
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
sys:
|
|
|
|
- clang64
|
2024-06-06 21:32:46 +00:00
|
|
|
- mingw32
|
2023-01-10 04:54:25 +00:00
|
|
|
- mingw64
|
|
|
|
- ucrt64
|
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: msys2 {0}
|
|
|
|
steps:
|
2023-10-23 14:26:37 +00:00
|
|
|
- name: Disable autocrlf
|
|
|
|
shell: pwsh
|
|
|
|
run: |
|
|
|
|
git config --global core.autocrlf false
|
|
|
|
git config --global core.eol lf
|
2024-01-24 17:29:49 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-01-10 04:54:25 +00:00
|
|
|
- uses: msys2/setup-msys2@v2
|
|
|
|
with:
|
|
|
|
msystem: ${{ matrix.sys }}
|
|
|
|
update: true
|
|
|
|
install: git
|
|
|
|
pacboy: >-
|
2023-06-07 21:18:54 +00:00
|
|
|
ca-certificates:p
|
2023-01-10 04:54:25 +00:00
|
|
|
cc:p
|
|
|
|
ffmpeg:p
|
|
|
|
lcms2:p
|
|
|
|
libarchive:p
|
|
|
|
libass:p
|
2024-10-06 16:09:40 +00:00
|
|
|
libcdio-paranoia:p
|
2023-01-10 04:54:25 +00:00
|
|
|
libdvdnav:p
|
|
|
|
libjpeg-turbo:p
|
|
|
|
libplacebo:p
|
2023-04-29 17:14:55 +00:00
|
|
|
lua51:p
|
2023-07-27 20:47:46 +00:00
|
|
|
meson:p
|
2023-01-10 04:54:25 +00:00
|
|
|
ninja:p
|
|
|
|
pkgconf:p
|
2023-07-27 20:47:46 +00:00
|
|
|
python:p
|
2023-01-10 04:54:25 +00:00
|
|
|
shaderc:p
|
|
|
|
spirv-cross:p
|
2024-10-06 16:09:40 +00:00
|
|
|
uchardet:p
|
|
|
|
vapoursynth:p
|
2024-03-24 00:00:00 +00:00
|
|
|
vulkan-devel:p
|
2023-01-10 04:54:25 +00:00
|
|
|
|
2024-06-06 21:32:46 +00:00
|
|
|
- name: Install dependencies
|
2024-10-05 19:43:06 +00:00
|
|
|
if: ${{ matrix.sys != 'mingw32' }}
|
2024-06-06 21:32:46 +00:00
|
|
|
run: |
|
2024-10-06 16:09:40 +00:00
|
|
|
pacboy --noconfirm -S {angleproject,cppwinrt,rst2pdf,rubberband}:p
|
2024-06-06 21:32:46 +00:00
|
|
|
|
2023-01-10 04:54:25 +00:00
|
|
|
- name: Build with meson
|
2023-02-26 19:05:49 +00:00
|
|
|
id: build
|
2023-01-10 04:54:25 +00:00
|
|
|
run: |
|
|
|
|
./ci/build-msys2.sh meson
|
2024-06-06 21:32:46 +00:00
|
|
|
env:
|
|
|
|
SYS: ${{ matrix.sys }}
|
2023-01-10 04:54:25 +00:00
|
|
|
|
|
|
|
- name: Print meson log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.build.outcome == 'failure' }}
|
2023-02-26 19:05:49 +00:00
|
|
|
run: |
|
|
|
|
cat ./build/meson-logs/meson-log.txt
|
|
|
|
|
|
|
|
- name: Run meson tests
|
|
|
|
id: tests
|
|
|
|
run: |
|
|
|
|
meson test -C build
|
|
|
|
|
|
|
|
- name: Print meson test log
|
2023-03-14 20:08:40 +00:00
|
|
|
if: ${{ failure() && steps.tests.outcome == 'failure' }}
|
2023-01-10 04:54:25 +00:00
|
|
|
run: |
|
2023-02-26 19:05:49 +00:00
|
|
|
cat ./build/meson-logs/testlog.txt
|