More tests #29
Workflow file for this run
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, dev ] | |
tags: [ 'v*' ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
ubuntu-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (apt) | |
run: sudo apt install python3-pip ninja-build libsndfile1-dev libliquid-dev nlohmann-json3-dev | |
- name: Install meson (pip3) | |
run: pip3 install --user meson | |
- name: meson setup | |
run: meson setup -Dwerror=true build | |
- name: compile | |
run: cd build && meson compile | |
- name: test | |
run: cd build && meson test | |
build-deb: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Debian packaging tools | |
run: sudo apt install build-essential devscripts debhelper equivs | |
- name: Install Build-Depends | |
run: sudo mk-build-deps --install --tool 'apt-get --yes' | |
- name: Build .deb | |
run: debuild -us -uc | |
# TODO: Needs an install file probably? And a way to find the binary? | |
#- name: Install .deb | |
#run: sudo dpkg -i redsea_*.deb | |
macos-build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (brew) | |
run: brew install meson libsndfile liquid-dsp nlohmann-json catch2 | |
- name: meson setup | |
run: meson setup -Dwerror=true build | |
- name: compile | |
run: cd build && meson compile | |
- name: test | |
run: cd build && meson test | |
windows-msys2-mingw-build: | |
runs-on: windows-latest | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
autoconf | |
automake | |
git | |
make | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-libiconv | |
mingw-w64-x86_64-libsndfile | |
mingw-w64-x86_64-meson | |
mingw-w64-x86_64-nlohmann-json | |
mingw-w64-x86_64-python3 | |
# Disable glibc specific checks and headers | |
- name: Patch & build liquid-dsp | |
shell: msys2 {0} | |
run: | | |
git clone https://github.com/jgaeddert/liquid-dsp.git && cd liquid-dsp | |
perl -i -p -e 's/(AC_CHECK_LIB\(\[c\].+| sys\/resource.h)//g' configure.ac | |
./bootstrap.sh && ./configure --prefix=/mingw64 && make | |
make install | |
- uses: actions/checkout@v4 | |
- name: Build redsea.exe | |
shell: msys2 {0} | |
run: | | |
meson setup -Dwerror=true build && cd build && meson compile | |
- name: test | |
shell: msys2 {0} | |
run: cd build && meson test | |
- name: Package into distrib | |
shell: msys2 {0} | |
run: >- | |
mkdir -p distrib && cp build/redsea.exe distrib/ && | |
ldd build/redsea.exe | | |
grep -iv windows | | |
grep -iv system32 | | |
grep -v :$ | | |
cut -f2 -d\> | | |
cut -f1 -d\( | | |
awk '{$1=$1};1' | | |
xargs -I{} cp {} distrib/ | |
windows-cygwin-build: | |
runs-on: windows-latest | |
steps: | |
- run: git config --global core.autocrlf input | |
- uses: actions/checkout@v4 | |
- uses: cygwin/cygwin-install-action@v4 | |
with: | |
packages: >- | |
autoconf | |
automake | |
bzip2 | |
gcc-core | |
gcc-g++ | |
git | |
libiconv-devel | |
libsndfile-devel | |
make | |
meson | |
patch | |
perl | |
tar | |
xz | |
- name: Build liquid-dsp | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: >- | |
git clone https://github.com/jgaeddert/liquid-dsp.git && | |
cd liquid-dsp && | |
./bootstrap.sh && | |
./configure --prefix=/usr && | |
make && make install | |
# Cygwin does not allow underscore variables that start with an uppercase when | |
# compiling with gcc | |
- name: Patch liquid.h | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: perl -i -p -e 's/(?<=\s)(_[A-Z])(?=[,\)])/\L\1__/g' /usr/include/liquid/liquid.h | |
- name: Build redsea | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: meson setup -Dwerror=true build && cd build && meson compile | |
- name: test | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: cd build && meson test |