Introduce unit tests #1
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, meson ] | |
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 | |
- name: Install meson (pip3) | |
run: pip3 install --user meson | |
- name: meson setup | |
run: meson setup build | |
- name: compile | |
run: cd build && meson compile | |
macos-build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (brew) | |
run: brew install meson libsndfile liquid-dsp | |
- name: meson setup | |
run: meson setup build | |
- name: compile | |
run: cd build && meson compile | |
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-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 build && cd build && meson compile | |
- 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-dsp | |
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 build && cd build && meson compile |