Skip to content

Commit 4c92ed4

Browse files
NeroBurnerJF002
authored andcommitted
CI: add lv_sim workflow and upload 'infinisim' executable
use InfiniSim repo to build simulator in CI
1 parent 187d99c commit 4c92ed4

2 files changed

Lines changed: 78 additions & 0 deletions

File tree

.github/workflows/lv_sim.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# GitHub Actions Workflow to build Simulator for PineTime Smart Watch LVGL Interface
2+
3+
# Name of this Workflow
4+
name: Build PineTime LVGL Simulator
5+
6+
# When to run this Workflow...
7+
on:
8+
9+
# Run on all branches
10+
push:
11+
branches: []
12+
13+
# Also run this Workflow when a Pull Request is created or updated in the "master" and "develop" Branch
14+
pull_request:
15+
branches: [ master, develop ]
16+
17+
# Steps to run for the Workflow
18+
jobs:
19+
build:
20+
21+
# Run these steps on Ubuntu
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
26+
#########################################################################################
27+
# Download and Install Dependencies
28+
29+
- name: Install cmake
30+
uses: lukka/get-cmake@v3.18.3
31+
32+
- name: Install SDL2 development package
33+
run: |
34+
sudo apt-get update
35+
sudo apt-get -y install libsdl2-dev
36+
37+
#########################################################################################
38+
# Checkout
39+
40+
- name: Checkout source files
41+
uses: actions/checkout@v2
42+
with:
43+
submodules: recursive
44+
45+
#########################################################################################
46+
# get InfiniSim repo
47+
48+
- name: Get InfiniSim repo
49+
run: |
50+
git clone https://github.com/InfiniTimeOrg/InfiniSim.git --depth 1 --branch main
51+
git -C InfiniSim submodule update --init lv_drivers
52+
53+
#########################################################################################
54+
# CMake
55+
56+
- name: CMake
57+
run: |
58+
cmake -G Ninja -S InfiniSim -B build_lv_sim -DInfiniTime_DIR="${PWD}"
59+
60+
#########################################################################################
61+
# Build and Upload simulator
62+
63+
# For Debugging Builds: Remove "make" option "-j" for clearer output. Add "--trace" to see details.
64+
# For Faster Builds: Add "make" option "-j"
65+
66+
- name: Build simulator executable
67+
run: |
68+
cmake --build build_lv_sim
69+
70+
- name: Upload simulator executable
71+
uses: actions/upload-artifact@v2
72+
with:
73+
name: infinisim
74+
path: build_lv_sim/infinisim

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Fast open-source firmware for the [PineTime smartwatch](https://www.pine64.org/p
2626
- [Creating a stopwatch in Pinetime(article)](https://pankajraghav.com/2021/04/03/PINETIME-STOPCLOCK.html)
2727
- [Tips on designing an app UI](doc/ui_guidelines.md)
2828

29+
### InfiniSim Simulator
30+
Use the [InfiniSim Simulator](https://github.com/InfiniTimeOrg/InfiniSim) to experience the `InfiniTime` user interface directly on your PC, to shorten the time until you get your hands on a real [PineTime smartwatch](https://www.pine64.org/pinetime/).
31+
Or use it to develop new Watchfaces, new Screens, or quickly iterate on the user interface.
32+
2933
### Contributing
3034
- [How to contribute?](/doc/contribute.md)
3135
- [Coding conventions](/doc/coding-convention.md)

0 commit comments

Comments
 (0)