19b11eb9a8
- Removed TactilityC, moved its symbols to existing modules and several new ones (pthread-module, c-symbols-module, cpp-symbols-module, posix-symbols-module, freertos-module). - Removed Firmware subproject and moved main() into Tactility subproject. - Strengthened application archive, path, version, stack-size, and device validation. - Moved symbol resolution for elf_loader to app-esp32-module. - Improved `struct Module` declarations and made module and symbol definitions in modules more consistent. - Removed old http download code from Tactility subproject. - Rename app-module's source files for consistency. - Add missing pthread symbols. - Kernel module symbols are now resolvable on all platforms.
59 lines
2.1 KiB
YAML
59 lines
2.1 KiB
YAML
name: Build
|
|
|
|
inputs:
|
|
os_name:
|
|
description: A descriptive name for the operating system (e.g. linux, windows)
|
|
required: true
|
|
platform_name:
|
|
description: A descriptive name for the target platform (e.g. amd64, aarch64, etc.)
|
|
required: true
|
|
publish:
|
|
description: A boolean that enables publishing of artifacts
|
|
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: "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
|
|
if: ${{ inputs.publish == 'true' }}
|
|
with:
|
|
name: Simulator-${{ inputs.os_name }}-${{ inputs.platform_name }}
|
|
path: release/Simulator-${{ inputs.os_name }}-${{ inputs.platform_name }}
|
|
retention-days: 30
|