Ken Van Hoeylandt c788f3abf9 Run SDL from main() and place FreeRTOS in separate thread
This fixes macOS support.
Updated GitHub Actions to publish macOS simulator build for testing,
updated amd64 to x86_64 for consistent naming.
2026-09-16 17:37:13 +02:00

62 lines
2.2 KiB
YAML

name: Build
inputs:
os_name:
description: A descriptive name for the operating system (e.g. linux, windows)
required: true
architecture:
description: A descriptive name for the target architecture (e.g. x86_64, aarch64, etc.)
required: true
runs:
using: "composite"
steps:
- name: "Checkout repo"
uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Linux Dependencies for SDL
if: ${{ runner.os == 'Linux' }}
shell: bash
# See Libraries/SDL/docs/README-linux.md
run: >
sudo apt-get update &&
sudo apt-get install build-essential git make
pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev
libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev
libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev
libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev
libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev
libpipewire-0.3-dev libwayland-dev libdecor-0-dev liburing-dev
env:
WLR_BACKENDS: headless
WLR_LIBINPUT_NO_DEVICES: 1
WAYLAND_DISPLAY: wayland-1
GTK_USE_PORTAL: 0
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.31.x'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install mbedtls codegen Python dependencies
shell: bash
run: pip install -r Libraries/mbedtls/scripts/driver.requirements.txt
- name: "Prepare Project"
shell: bash
run: cmake -S ./ -B buildsim
- name: "Build Tests"
shell: bash
run: cmake --build buildsim --target Tactility
- name: 'Release'
shell: bash
run: Buildscripts/release-simulator.sh buildsim release/Simulator-${{ inputs.os_name }}-${{ inputs.platform_name }}
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: Simulator-${{ inputs.os_name }}-${{ inputs.architecture }}
path: release/Simulator-${{ inputs.os_name }}-${{ inputs.architecture }}
retention-days: 30