Skip to content

Build Simulator

Build Simulator #399

Workflow file for this run

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