Build Simulator #399
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 Simulator | |
on: | |
workflow_dispatch: | |
inputs: | |
lin_clang: | |
description: 'Build Simulator on Linux clang' | |
required: true | |
default: true | |
type: boolean | |
lin_gcc: | |
description: 'Build Simulator on Linux gcc' | |
required: true | |
default: true | |
type: boolean | |
win_gcc: | |
description: 'Build Simulator on Windows gcc' | |
required: true | |
default: true | |
type: boolean | |
mac_clang: | |
description: 'Build Simulator on Mac clang' | |
required: true | |
default: true | |
type: boolean | |
push: | |
branches: | |
- main | |
paths: | |
- 'simulator/**' | |
- 'firmware/vcv_ports/**' | |
- 'firmware/vcv_plugin/**' | |
- 'firmware/metamodule-plugin-sdk/**' | |
- 'firmware/lib/CoreModules/**' | |
- 'firmware/lib/patch-serial/**' | |
- 'firmware/lib/lvgl/**' | |
- 'firmware/src/gui/**' | |
- 'firmware/src/patch**' | |
- 'firmware/src/params/**' | |
- 'firmware/src/console/**' | |
- '!**.md' # Skip docs | |
jobs: | |
build-lin-gcc: | |
if: ${{ github.event_name == 'push' || inputs.lin_gcc }} | |
name: linux-gcc | |
strategy: | |
fail-fast: false | |
runs-on: 'ubuntu-24.04' | |
defaults: | |
run: | |
shell: 'bash {0}' | |
env: | |
CC: gcc | |
CXX: g++ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
token: ${{ secrets.CHECKOUT_TOKEN }} | |
- name: Install linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install ninja-build libsdl2-dev | |
- name: 'Build' | |
run: | | |
cd simulator | |
cmake -G Ninja -B build | |
cmake --build build | |
build-lin-clang: | |
if: ${{ github.event_name == 'push' || inputs.lin_clang }} | |
name: linux-clang | |
strategy: | |
fail-fast: false | |
runs-on: 'ubuntu-24.04' | |
defaults: | |
run: | |
shell: 'bash {0}' | |
env: | |
CC: clang | |
CXX: clang++ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
token: ${{ secrets.CHECKOUT_TOKEN }} | |
- name: Install linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install ninja-build libsdl2-dev | |
- name: 'Build' | |
run: | | |
cd simulator | |
cmake -G Ninja -B build | |
cmake --build build | |
build-win-gcc: | |
if: ${{ github.event_name == 'push' || inputs.win_gcc }} | |
name: win-gcc | |
strategy: | |
fail-fast: false | |
runs-on: 'windows-latest' | |
defaults: | |
run: | |
shell: 'msys2 {0}' | |
env: | |
CC: gcc | |
CXX: g++ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
token: ${{ secrets.CHECKOUT_TOKEN }} | |
- name: Install windows dependencies | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
update: true | |
install: git make mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-cmake mingw-w64-x86_64-pkgconf mingw-w64-x86_64-ninja mingw-w64-x86_64-SDL2 | |
- name: 'Build' | |
run: | | |
cd simulator | |
cmake -G Ninja -B build | |
cmake --build build | |
build-mac-clang: | |
if: ${{ github.event_name == 'push' || inputs.mac_clang }} | |
name: mac-clang | |
strategy: | |
fail-fast: false | |
runs-on: 'macos-latest' | |
defaults: | |
run: | |
shell: 'bash {0}' | |
env: | |
CC: clang | |
CXX: clang++ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
token: ${{ secrets.CHECKOUT_TOKEN }} | |
- name: Install mac dependencies | |
run: | | |
brew install ninja sdl2 | |
- name: 'Build' | |
run: | | |
cd simulator | |
cmake -G Ninja -B build | |
cmake --build build | |