Skip to content

Update CI setup

Update CI setup #998

Workflow file for this run

name: build
on: [push, pull_request]
env:
DEBIAN_FRONTEND: noninteractive
EMSCRIPTEN_VERSION: 3.1.27
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
jobs:
linux:
strategy:
matrix:
include:
- target: debian:11
- target: debian:12
- target: ubuntu:20.04
- target: ubuntu:22.04
- target: ubuntu:24.04
runs-on: ubuntu-latest
container:
image: ${{ matrix.target }}
steps:
- uses: actions/checkout@v3
- name: Set up dependencies
run: |
dpkg --add-architecture i386
apt-get update -qq
apt-get install -yqq g++-multilib 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 make pkg-config pyqt5-dev-tools qtbase5-dev
apt-get install -yqq libx11-6:i386 libxext6:i386
# Fix 32bit bridge build
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
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)
macos:
strategy:
matrix:
include:
- target: macos-12
- target: macos-13
runs-on: ${{ matrix.target }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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)
wasm:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up cache
id: cache
uses: actions/cache@v4
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)