158 lines
4.4 KiB
YAML
158 lines
4.4 KiB
YAML
---
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
paths-ignore:
|
|
- 'android/**'
|
|
- 'build/**'
|
|
- 'doc/**'
|
|
- 'python/**'
|
|
- 'subprojects/**'
|
|
- 'systemd/**'
|
|
- 'win32/**'
|
|
branches:
|
|
- master
|
|
- v0.23.x
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'android/**'
|
|
- 'build/**'
|
|
- 'doc/**'
|
|
- 'python/**'
|
|
- 'subprojects/**'
|
|
- 'systemd/**'
|
|
- 'win32/**'
|
|
branches:
|
|
- master
|
|
- v0.23.x
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CC: 'ccache gcc-10'
|
|
CXX: 'ccache g++-10'
|
|
steps:
|
|
- id: checkout
|
|
uses: actions/checkout@v3
|
|
- id: cache-ccache
|
|
uses: hendrikmuhs/ccache-action@v1
|
|
with:
|
|
key: linux
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
g++-10 libfmt-dev libboost-dev \
|
|
libgtest-dev \
|
|
libpcre2-dev \
|
|
libsystemd-dev libdbus-1-dev \
|
|
libicu-dev \
|
|
libcurl4-gnutls-dev \
|
|
libpcre2-dev \
|
|
libavahi-client-dev \
|
|
libmad0-dev libmpg123-dev libid3tag0-dev \
|
|
libflac-dev libvorbis-dev libopus-dev libogg-dev \
|
|
libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
|
|
libfluidsynth-dev libgme-dev libmikmod-dev libmodplug-dev \
|
|
libmpcdec-dev libwavpack-dev libwildmidi-dev \
|
|
libsidplay2-dev libsidutils-dev libresid-builder-dev \
|
|
libavcodec-dev libavformat-dev \
|
|
libmp3lame-dev libtwolame-dev libshine-dev \
|
|
libsamplerate0-dev libsoxr-dev \
|
|
libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
|
|
libzzip-dev \
|
|
libyajl-dev libexpat-dev \
|
|
libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
|
|
libpulse-dev libshout3-dev \
|
|
libsndio-dev \
|
|
libmpdclient-dev \
|
|
libnfs-dev \
|
|
libupnp-dev \
|
|
libsqlite3-dev \
|
|
libchromaprint-dev \
|
|
libgcrypt20-dev
|
|
|
|
- name: Full Build
|
|
uses: BSFishy/meson-build@v1.0.3
|
|
with:
|
|
action: build
|
|
directory: output/full
|
|
setup-options: -Ddocumentation=disabled -Dtest=true -Dsystemd=enabled -Dpcre=enabled
|
|
options: --verbose
|
|
meson-version: 0.56.0
|
|
|
|
- name: Unit Tests
|
|
uses: BSFishy/meson-build@v1.0.3
|
|
with:
|
|
action: test
|
|
directory: output/full
|
|
setup-options: -Ddocumentation=disabled -Dtest=true -Dsystemd=enabled -Dpcre=enabled
|
|
options: --verbose
|
|
meson-version: 0.56.0
|
|
|
|
- name: Mini Build
|
|
uses: BSFishy/meson-build@v1.0.3
|
|
with:
|
|
action: build
|
|
directory: output/mini
|
|
setup-options: -Dbuildtype=minsize -Dauto_features=disabled -Dtest=true -Ddaemon=false -Dinotify=false -Depoll=false -Deventfd=false -Dsignalfd=false -Dtcp=false -Ddsd=false -Ddatabase=false -Dneighbor=false -Dcue=false -Dfifo=false -Dhttpd=false -Dpipe=false -Drecorder=false -Dsnapcast=false
|
|
options: --verbose
|
|
meson-version: 0.56.0
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- id: checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- id: cache-ccache
|
|
uses: hendrikmuhs/ccache-action@v1
|
|
with:
|
|
key: macos
|
|
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.x
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
brew install \
|
|
meson ninja \
|
|
fmt \
|
|
boost \
|
|
googletest \
|
|
icu4c \
|
|
ffmpeg \
|
|
libnfs \
|
|
yajl \
|
|
libupnp \
|
|
libid3tag \
|
|
chromaprint \
|
|
libsamplerate \
|
|
libsoxr \
|
|
flac \
|
|
opus \
|
|
libvorbis \
|
|
faad2 \
|
|
wavpack \
|
|
libmpdclient
|
|
|
|
- name: Build
|
|
uses: BSFishy/meson-build@v1.0.3
|
|
with:
|
|
action: build
|
|
directory: output
|
|
setup-options: -Ddocumentation=disabled -Dtest=true
|
|
options: --verbose
|
|
meson-version: 0.56.0
|
|
|
|
- name: Unit Tests
|
|
uses: BSFishy/meson-build@v1.0.3
|
|
with:
|
|
action: test
|
|
directory: output
|
|
setup-options: -Ddocumentation=disabled -Dtest=true
|
|
options: --verbose
|
|
meson-version: 0.56.0
|