name: build on: [push, pull_request] env: DEBIAN_FRONTEND: noninteractive HOMEBREW_NO_AUTO_UPDATE: 1 WITH_LTO: false jobs: macos-11: runs-on: macos-11 steps: - uses: actions/checkout@v3 - name: Set up dependencies run: | brew install fluid-synth liblo libmagic libsndfile pkg-config pyqt@5 qt@5 sdl2 - name: make features run: make features - name: make run: make -j $(sysctl -n hw.logicalcpu) ubuntu-20_04: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - name: Fix GitHub's mess run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo dpkg --add-architecture i386 sudo apt-get update -qq sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal - name: Set up dependencies run: | sudo apt-get install -yqq libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libsdl2-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev pkg-config pyqt5-dev-tools qtbase5-dev sudo apt-get install -yqq g++-multilib libx11-6:i386 libxext6:i386 # Fix 32bit bridge build sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so - name: make features run: make features - name: make run: make -j $(nproc) - name: make posix32 run: make posix32 -j $(nproc) ubuntu-22_04: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Fix GitHub's mess run: | sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo dpkg --add-architecture i386 sudo apt-get update -qq sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 - name: Set up dependencies run: | sudo apt-get install -yqq libasound2-dev libfluidsynth-dev libgl1-mesa-dev liblo-dev libmagic-dev libpulse-dev libsdl2-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev pkg-config pyqt5-dev-tools qtbase5-dev sudo apt-get install -yqq g++-multilib libx11-6:i386 libxext6:i386 # Fix 32bit bridge build sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so sudo ln -s /usr/lib/i386-linux-gnu/libXext.so.6 /usr/lib/i386-linux-gnu/libXext.so - name: make features run: make features - name: make run: make -j $(nproc) - name: make posix32 run: make posix32 -j $(nproc) wasm: runs-on: ubuntu-22.04 env: EMSCRIPTEN_VERSION: 3.1.27 steps: - uses: actions/checkout@v3 with: submodules: recursive - name: Set up cache id: cache uses: actions/cache@v3 with: path: | ~/emsdk key: emsdk-v1 - name: Set up dependencies run: | [ -d ~/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/emsdk cd ~/emsdk && ./emsdk install ${{ env.EMSCRIPTEN_VERSION }} && ./emsdk activate ${{ env.EMSCRIPTEN_VERSION }} - name: make env: AR: emar CC: emcc CXX: em++ NM: emnm RANLIB: emranlib STRIP: emstrip PKG_CONFIG: false run: | source ~/emsdk/emsdk_env.sh make features make -j $(nproc)