Fix LTO build #1014
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, 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) |