f4b729e00b
On rolling distros the usage of `libpng` submodule makes problems as the `zlib` system dependency of said module gets updated. Then the submodule regularly is too old to handle the updates `zlib` dependency. Fix this maintenance churn by requiring `libpng` as system library as well. Then the distros package manager keeps those versions in sync. This unfortunately requires users to install a new runtime/build dependency, but it still can be disabled with `-DWITH_PNG=OFF`.
83 lines
2.2 KiB
YAML
83 lines
2.2 KiB
YAML
# GitHub Actions Workflow to build Simulator for PineTime Smart Watch LVGL Interface
|
|
|
|
# Name of this Workflow
|
|
name: Build InfiniSim LVGL Simulator
|
|
|
|
# When to run this Workflow...
|
|
on:
|
|
|
|
# Run on all branches
|
|
push:
|
|
branches: []
|
|
|
|
# Also run this Workflow when a Pull Request is created or updated in the "main" and "develop" Branch
|
|
pull_request:
|
|
branches: [ main, develop ]
|
|
|
|
# Steps to run for the Workflow
|
|
jobs:
|
|
build:
|
|
|
|
# Run these steps on Ubuntu
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
#########################################################################################
|
|
# Download and Install Dependencies
|
|
|
|
- name: Install cmake
|
|
uses: lukka/get-cmake@v3.18.3
|
|
|
|
- name: Install SDL2 and libpng development package
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get -y install libsdl2-dev libpng-dev
|
|
|
|
- name: Install lv_font_conv
|
|
run:
|
|
npm i -g lv_font_conv@1.5.2
|
|
|
|
- name: Install lv_img_conv
|
|
run: |
|
|
npm i -g ts-node@10.9.1 -g
|
|
npm i -g @swc/core -g
|
|
npm i -g lv_img_conv@0.3.0 -g
|
|
|
|
#########################################################################################
|
|
# Checkout
|
|
|
|
- name: Checkout source files
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
|
|
#########################################################################################
|
|
# CMake
|
|
|
|
- name: CMake
|
|
run: |
|
|
cmake -G Ninja -S . -B build_lv_sim
|
|
|
|
#########################################################################################
|
|
# Build and Upload simulator
|
|
|
|
# For Debugging Builds: Remove "make" option "-j" for clearer output. Add "--trace" to see details.
|
|
# For Faster Builds: Add "make" option "-j"
|
|
|
|
- name: Build simulator executable
|
|
run: |
|
|
cmake --build build_lv_sim
|
|
|
|
- name: Upload simulator executable
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: infinisim
|
|
path: build_lv_sim/infinisim
|
|
|
|
- name: Upload littlefs-do executable
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: littlefs-do
|
|
path: build_lv_sim/littlefs-do
|