Implement simulator release package builds (#159)

This commit is contained in:
Ken Van Hoeylandt 2025-01-11 22:44:08 +01:00 committed by GitHub
parent 72a9eb1279
commit ceec04b34c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 84 additions and 18 deletions

View File

@ -0,0 +1,51 @@
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
runs:
using: "composite"
steps:
- name: "Checkout repo"
uses: actions/checkout@v2
with:
submodules: recursive
- name: Install Linux Dependencies for SDL
if: ${{ inputs.platform_name }} == 'linux'
shell: bash
# See Libraries/SDL/docs/README-linux.md
run: >
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: "Configure Project"
uses: threeal/cmake-action@v1.3.0
- name: "Prepare Project"
shell: bash
run: cmake -S ./ -B buildsim
- name: "Build Tests"
shell: bash
run: cmake --build buildsim --target AppSim
- 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.platform_name }}
path: release/Simulator-${{ inputs.os_name }}-${{ inputs.platform_name }}
retention-days: 30

13
.github/workflows/build-simulator.yml vendored Normal file
View File

@ -0,0 +1,13 @@
# Disabled because of issue: https://github.com/libsdl-org/setup-sdl/issues/23
name: Build Simulator
on: [push]
jobs:
Build-Simulator:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Build"
uses: ./.github/actions/build-simulator
with:
os_name: linux
platform_name: amd64

View File

@ -1,17 +0,0 @@
# Disabled because of issue: https://github.com/libsdl-org/setup-sdl/issues/23
name: Build
on: [push]
jobs:
Build-PC:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
submodules: recursive
- name: Configure Project
uses: threeal/cmake-action@v2.0.0
- name: Prepare Project
run: cmake -S ./ -B build
- name: Build Project
run: cmake --build build

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
.DS_Store
build/
buildsim/
build-sim/
cmake-build-*/
CMakeCache.txt

View File

@ -0,0 +1,17 @@
#!/usr/bin/bash
#
# Usage: release-simulator.sh [builddir] [target_path]
# Example: release-simulator.sh buildsim release/Simulator-linux-amd64
# Description: Releases the current simulator build files in the specified folder.
#
build_path=$1
target_path=$2
mkdir -p $target_path
cp version.txt $target_path
cp $build_path/App/AppSim $target_path/
cp -r Data/data $target_path/
cp -r Data/system $target_path/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -16,6 +16,7 @@
- Fix bug in T-Deck/etc: esp_lvgl_port settings has a large stack size (~9kB) to fix an issue where the T-Deck would get a stackoverflow. This sometimes happens when WiFi is auto-enabled and you open the app while it is still connecting.
# TODOs
- Make a ledger for setting CPU affinity of various services and tasks
- Make "blocking" argument the last one, and put it default to false (or remove it entirely?): void startApp(const std::string& id, bool blocking, std::shared_ptr<const Bundle> parameters) {
- Boot hooks instead of a single boot method in config. Define different boot phases/levels in enum.
- Add toggle to Display app for sysmon overlay: https://docs.lvgl.io/master/API/others/sysmon/index.html

View File

@ -163,7 +163,7 @@
#define LV_USE_DRAW_DAVE2D 0
/* Draw using cached SDL textures*/
#define LV_USE_DRAW_SDL 1
#define LV_USE_DRAW_SDL 0
/* Use VG-Lite GPU. */
#define LV_USE_DRAW_VG_LITE 0