feat: Introduce Flake for development and builds #455
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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/[email protected] | |
- name: Install SDL2 and libpng development package | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libsdl2-dev libpng-dev | |
- name: Install resource build dependencies | |
run: | | |
sudo apt-get -y install --no-install-recommends python3-pil | |
- name: Install lv_font_conv | |
run: | |
npm i -g [email protected] | |
######################################################################################### | |
# 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 |