2021-11-23 10:20:18 +01:00
|
|
|
---
|
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- 'android/**'
|
|
|
|
- 'build/**'
|
|
|
|
- 'doc/**'
|
|
|
|
- 'python/**'
|
|
|
|
- 'subprojects/**'
|
|
|
|
- 'systemd/**'
|
|
|
|
- 'win32/**'
|
|
|
|
branches:
|
|
|
|
- master
|
2021-12-03 23:00:40 +01:00
|
|
|
- v0.23.x
|
2021-11-23 10:20:18 +01:00
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- 'android/**'
|
|
|
|
- 'build/**'
|
|
|
|
- 'doc/**'
|
|
|
|
- 'python/**'
|
|
|
|
- 'subprojects/**'
|
|
|
|
- 'systemd/**'
|
|
|
|
- 'win32/**'
|
|
|
|
branches:
|
|
|
|
- master
|
2021-12-03 23:00:40 +01:00
|
|
|
- v0.23.x
|
2021-11-26 13:31:27 +01:00
|
|
|
|
2022-12-08 19:27:35 +01:00
|
|
|
permissions:
|
|
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
|
2021-11-23 10:20:18 +01:00
|
|
|
jobs:
|
2021-11-26 13:31:27 +01:00
|
|
|
build-linux:
|
2022-07-13 12:35:25 +02:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2024-07-05 17:17:16 +02:00
|
|
|
compiler: [gcc14, gcc10]
|
2022-07-13 12:35:25 +02:00
|
|
|
include:
|
2024-07-05 17:17:16 +02:00
|
|
|
- compiler: gcc14
|
2024-07-05 17:05:12 +02:00
|
|
|
os: ubuntu-24.04
|
2024-07-05 17:17:16 +02:00
|
|
|
cc: gcc-14
|
|
|
|
cxx: g++-14
|
2024-04-16 11:59:49 +02:00
|
|
|
- compiler: gcc10
|
2024-07-05 17:05:12 +02:00
|
|
|
os: ubuntu-24.04
|
2022-07-13 12:35:25 +02:00
|
|
|
cc: gcc-10
|
|
|
|
cxx: g++-10
|
|
|
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
2021-11-26 13:31:27 +01:00
|
|
|
env:
|
2022-07-13 12:35:25 +02:00
|
|
|
CC: ccache ${{ matrix.cc }}
|
|
|
|
CXX: ccache ${{ matrix.cxx }}
|
|
|
|
|
2021-11-23 10:20:18 +01:00
|
|
|
steps:
|
|
|
|
- id: checkout
|
2023-09-04 17:51:28 +02:00
|
|
|
uses: actions/checkout@v4
|
2024-04-16 11:39:22 +02:00
|
|
|
|
2021-11-23 10:20:18 +01:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
2022-05-12 05:50:09 +02:00
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y --no-install-recommends \
|
2022-07-13 12:35:25 +02:00
|
|
|
${{ matrix.cxx }} ${{matrix.cc }} \
|
2024-04-16 12:01:50 +02:00
|
|
|
meson \
|
2024-04-16 11:39:22 +02:00
|
|
|
ccache \
|
2024-07-05 17:43:50 +02:00
|
|
|
libfmt-dev \
|
2021-11-23 10:20:18 +01:00
|
|
|
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
|
|
|
|
|
2024-04-16 11:39:22 +02:00
|
|
|
- id: cache-ccache
|
|
|
|
uses: hendrikmuhs/ccache-action@v1
|
|
|
|
with:
|
2024-04-16 11:59:49 +02:00
|
|
|
key: ${{ matrix.compiler }}
|
2024-04-16 11:39:22 +02:00
|
|
|
|
2024-04-16 12:01:50 +02:00
|
|
|
- name: Configure
|
|
|
|
run: |
|
|
|
|
meson setup \
|
|
|
|
-Ddocumentation=disabled \
|
|
|
|
-Dtest=true \
|
2024-04-16 12:10:16 +02:00
|
|
|
-Dsystemd=enabled \
|
2024-04-16 12:01:50 +02:00
|
|
|
-Dpcre=enabled \
|
2024-07-05 17:42:55 +02:00
|
|
|
--wrap-mode nofallback \
|
2024-04-16 12:01:50 +02:00
|
|
|
output/full
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
run: meson compile -C output/full --verbose
|
2022-05-23 21:32:07 +02:00
|
|
|
|
|
|
|
- name: Unit Tests
|
2024-04-16 12:01:50 +02:00
|
|
|
run: meson test -C output/full
|
|
|
|
|
|
|
|
- name: Configure Mini
|
|
|
|
run: |
|
|
|
|
meson setup \
|
|
|
|
-Dbuildtype=minsize \
|
|
|
|
-Dauto_features=disabled \
|
|
|
|
-Dtest=true \
|
|
|
|
-Ddaemon=false \
|
2024-04-16 12:10:16 +02:00
|
|
|
-Dinotify=false -Depoll=false -Deventfd=false \
|
2024-04-16 12:01:50 +02:00
|
|
|
-Dsignalfd=false \
|
|
|
|
-Dtcp=false \
|
|
|
|
-Ddsd=false \
|
|
|
|
-Ddatabase=false \
|
|
|
|
-Dneighbor=false \
|
|
|
|
-Dcue=false \
|
|
|
|
-Dfifo=false \
|
2024-04-16 12:10:16 +02:00
|
|
|
-Dhttpd=false -Dpipe=false -Drecorder=false \
|
2024-04-16 12:01:50 +02:00
|
|
|
-Dsnapcast=false \
|
2024-07-05 17:42:55 +02:00
|
|
|
--wrap-mode nofallback \
|
2024-04-16 12:01:50 +02:00
|
|
|
output/mini
|
|
|
|
|
|
|
|
- name: Build Mini
|
|
|
|
run: meson compile -C output/mini --verbose
|
|
|
|
|
|
|
|
- name: Unit Tests Mini
|
|
|
|
run: meson test -C output/mini
|
2021-11-26 13:31:27 +01:00
|
|
|
|
2023-12-25 23:32:55 +01:00
|
|
|
build-msys2:
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2024-05-15 06:19:13 +02:00
|
|
|
platform: ['MINGW64', 'UCRT64']
|
2023-12-25 23:32:55 +01:00
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: msys2 {0}
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- id: checkout
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
|
|
with:
|
|
|
|
msystem: ${{matrix.platform}}
|
|
|
|
pacboy: >-
|
|
|
|
cc:p
|
|
|
|
cmake:p
|
|
|
|
dbus:p
|
|
|
|
faad2:p
|
|
|
|
ffmpeg:p
|
|
|
|
fmt:p
|
|
|
|
flac:p
|
|
|
|
gtest:p
|
|
|
|
jack2:p
|
|
|
|
libao:p
|
|
|
|
libid3tag:p
|
|
|
|
libmad:p
|
|
|
|
libmpcdec:p
|
|
|
|
libopenmpt:p
|
|
|
|
libsamplerate:p
|
|
|
|
libshout:p
|
|
|
|
libsndfile:p
|
|
|
|
libsoxr:p
|
|
|
|
libvorbis:p
|
|
|
|
meson:p
|
|
|
|
ninja:p
|
|
|
|
opus:p
|
|
|
|
pulseaudio:p
|
|
|
|
shine:p
|
|
|
|
twolame:p
|
|
|
|
yajl:p
|
|
|
|
|
|
|
|
- name: Compile and Test
|
|
|
|
run: |
|
|
|
|
meson setup "${{github.workspace}}/build" -Dbzip2=disabled -Dcdio_paranoia=disabled -Dchromaprint=disabled -Ddocumentation=disabled -Dfluidsynth=disabled -Dicu=disabled -Diso9660=disabled -Dmikmod=disabled -Dmpg123=disabled -Dnfs=disabled -Dsidplay=disabled -Dudisks=disabled -Dupnp=disabled -Dwavpack=disabled -Dzzip=disabled -Dtest=true -Dwarning_level=3
|
|
|
|
meson compile -C "${{github.workspace}}/build" --verbose
|