mpv/.github/workflows/build.yml

140 lines
3.2 KiB
YAML

name: build
on:
push:
branches:
- master
- ci
- 'release/**'
pull_request:
branches: [master]
jobs:
mingw:
runs-on: ubuntu-20.04
strategy:
matrix:
target: [i686-w64-mingw32, x86_64-w64-mingw32]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: mingw_prefix/
key: ${{ matrix.target }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y autoconf automake pkg-config g++-mingw-w64 gcc-multilib nasm yasm
./bootstrap.py
- name: Build
run: |
./ci/build-mingw64.sh
env:
TARGET: ${{ matrix.target }}
- name: Print configure log
if: ${{ failure() }}
run: |
cat ./build/config.log
macos:
runs-on: ${{ matrix.os }}
strategy:
matrix:
cc:
- "clang"
os:
- "macos-10.15"
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
brew update
brew install autoconf automake pkg-config libtool python freetype fribidi little-cms2 luajit libass ffmpeg
- name: Build
run: |
./ci/build-macos.sh
env:
CC: "${{ matrix.cc }}"
TRAVIS_OS_NAME: "${{ matrix.os }}"
- name: Print configure log
if: ${{ failure() }}
run: |
cat ./build/config.log
linux:
runs-on: "ubuntu-20.04"
container:
image: "registry.cirno.systems/kiwi/containers/mpv-ci:stable-deps"
env:
CC: "${{ matrix.cc }}"
strategy:
matrix:
cc:
- "gcc"
- "clang"
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
./bootstrap.py
- name: Build
run: |
./ci/build-tumbleweed.sh
- name: Print configure log
if: ${{ failure() }}
run: |
cat ./build/config.log
freebsd:
runs-on: macos-10.15 # until https://github.com/actions/runner/issues/385
steps:
- uses: actions/checkout@v2
- name: Test in FreeBSD VM
uses: vmactions/freebsd-vm@v0.1.5 # aka FreeBSD 13.0
with:
usesh: true
prepare: |
# Requested in ci/build-freebsd.sh
pkg install -y \
evdev-proto \
ffmpeg \
libplacebo \
libxkbcommon \
luajit \
openal-soft \
pkgconf \
python3 \
sdl2 \
vulkan-headers \
wayland-protocols \
#
# Optionally auto-enabled
pkg install -y \
alsa-lib \
jackit \
libXv \
libarchive \
libbluray \
libcaca \
libcdio-paranoia \
libdvdnav \
mujs \
pulseaudio \
rubberband \
sekrit-twc-zimg \
uchardet \
v4l_compat \
#
run: |
./ci/build-freebsd.sh