ci/msys2: double down on running meson through python3.11 #65
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
branches: | |
- master | |
- ci | |
- 'release/**' | |
pull_request: | |
branches: [master] | |
jobs: | |
mingw: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
target: [i686-w64-mingw32, x86_64-w64-mingw32] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y autoconf automake pkg-config g++-mingw-w64 gcc-multilib python3-pip ninja-build nasm | |
sudo python3 -m pip install meson | |
./bootstrap.py | |
- name: Build libraries | |
run: | | |
./ci/build-mingw64.sh | |
env: | |
TARGET: ${{ matrix.target }} | |
- name: Build with meson | |
id: build | |
run: | | |
./ci/build-mingw64.sh meson pack | |
env: | |
TARGET: ${{ matrix.target }} | |
- name: Print meson log | |
if: ${{ failure() && steps.build.outcome == 'failure' }} | |
run: | | |
cat ./build/meson-logs/meson-log.txt | |
- name: Build with waf | |
id: build_waf | |
run: | | |
./ci/build-mingw64.sh waf | |
env: | |
TARGET: ${{ matrix.target }} | |
- name: Print waf log | |
if: ${{ failure() && steps.build_waf.outcome == 'failure' }} | |
run: | | |
cat ./build_waf/config.log | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: mpv-${{ matrix.target }} | |
path: mpv-git-*.zip | |
macos: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
cc: | |
- "clang" | |
os: | |
- "macos-11" | |
- "macos-12" | |
steps: | |
- uses: actions/checkout@v3 | |
- 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 | |
- name: Install dependencies | |
run: | | |
brew update | |
brew install autoconf automake pkg-config libtool python freetype fribidi little-cms2 [email protected] libass ffmpeg meson | |
- name: Build with meson | |
id: build | |
run: | | |
./ci/build-macos.sh meson | |
env: | |
CC: "${{ matrix.cc }}" | |
TRAVIS_OS_NAME: "${{ matrix.os }}" | |
- 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 | |
- name: Build with waf | |
id: build_waf | |
run: | | |
./ci/build-macos.sh waf | |
env: | |
CC: "${{ matrix.cc }}" | |
TRAVIS_OS_NAME: "${{ matrix.os }}" | |
- name: Print waf log | |
if: ${{ failure() && steps.build_waf.outcome == 'failure' }} | |
run: | | |
cat ./build_waf/config.log | |
linux: | |
runs-on: "ubuntu-22.04" | |
container: | |
image: "registry.opensuse.org/home/mia/images/images/mpv-ci:stable-deps" | |
env: | |
CC: "${{ matrix.cc }}" | |
strategy: | |
matrix: | |
cc: | |
- "gcc" | |
- "clang" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
./bootstrap.py | |
# workaround to avoid "fatal: unsafe repository" error | |
git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- name: Build with meson | |
id: build | |
run: | | |
./ci/build-tumbleweed.sh meson | |
- 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 | |
- name: Build with waf | |
id: build_waf | |
run: | | |
./ci/build-tumbleweed.sh waf | |
- name: Print waf log | |
if: ${{ failure() && steps.build_waf.outcome == 'failure' }} | |
run: | | |
cat ./build_waf/config.log | |
freebsd: | |
runs-on: macos-12 # until https://github.com/actions/runner/issues/385 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Test in FreeBSD VM | |
uses: vmactions/freebsd-vm@v0 | |
with: | |
mem: 8192 | |
copyback: false | |
usesh: true | |
prepare: | | |
# Requested in ci/build-freebsd.sh | |
pkg install -y \ | |
cmake \ | |
evdev-proto \ | |
ffmpeg \ | |
libplacebo \ | |
libxkbcommon \ | |
libXinerama \ | |
libxpresent \ | |
luajit \ | |
meson \ | |
openal-soft \ | |
pkgconf \ | |
python3 \ | |
sdl2 \ | |
sndio \ | |
vulkan-headers \ | |
wayland-protocols \ | |
# | |
# Optionally auto-enabled | |
pkg install -y \ | |
alsa-lib \ | |
jackit \ | |
libXv \ | |
libarchive \ | |
libbluray \ | |
libcaca \ | |
libcdio-paranoia \ | |
libdvdnav \ | |
mujs \ | |
pipewire \ | |
pulseaudio \ | |
rubberband \ | |
sekrit-twc-zimg \ | |
uchardet \ | |
v4l_compat \ | |
# | |
run: | | |
./ci/build-freebsd.sh | |
meson test -C build | |
msys2: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
sys: | |
- clang32 | |
- clang64 | |
- mingw32 | |
- mingw64 | |
- ucrt64 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.sys }} | |
update: true | |
install: git | |
pacboy: >- | |
angleproject:p | |
ca-certificates:p | |
cc:p | |
diffutils:p | |
ffmpeg:p | |
lcms2:p | |
libarchive:p | |
libass:p | |
libcdio-paranoia:p | |
libdvdnav:p | |
libjpeg-turbo:p | |
libplacebo:p | |
lua51:p | |
ninja:p | |
pkgconf:p | |
python3.11:p | |
rst2pdf:p | |
rubberband:p | |
shaderc:p | |
spirv-cross:p | |
uchardet:p | |
vapoursynth:p | |
vulkan:p | |
- name: Build with meson | |
id: build | |
run: | | |
./ci/build-msys2.sh meson | |
- 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: | | |
source ./build/venv/bin/activate | |
meson test -C build | |
- name: Print meson test log | |
if: ${{ failure() && steps.tests.outcome == 'failure' }} | |
run: | | |
cat ./build/meson-logs/testlog.txt | |
- name: Build with waf | |
id: build_waf | |
run: | | |
./ci/build-msys2.sh waf | |
- name: Print waf log | |
if: ${{ failure() && steps.build_waf.outcome == 'failure' }} | |
run: | | |
cat ./build_waf/config.log |