Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57ca78a1e3 | ||
|
|
674d067872 |
+13
-18
@@ -16,15 +16,19 @@ jobs:
|
|||||||
- name: Install host toolchain
|
- name: Install host toolchain
|
||||||
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
||||||
run: |
|
run: |
|
||||||
export DEBIAN_FRONTEND=noninteractive && \
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then SUDO=sudo; else SUDO=; fi && \
|
if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then
|
||||||
$SUDO apt-get update && \
|
SUDO=sudo
|
||||||
|
else
|
||||||
|
SUDO=
|
||||||
|
fi
|
||||||
|
$SUDO apt-get update
|
||||||
$SUDO apt-get install -y --no-install-recommends cmake gcc g++ make
|
$SUDO apt-get install -y --no-install-recommends cmake gcc g++ make
|
||||||
- name: Host unit tests
|
- name: Host unit tests
|
||||||
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
||||||
run: |
|
run: |
|
||||||
cmake -S tests/host -B build/host && \
|
cmake -S tests/host -B build/host
|
||||||
cmake --build build/host && \
|
cmake --build build/host
|
||||||
ctest --test-dir build/host --output-on-failure
|
ctest --test-dir build/host --output-on-failure
|
||||||
|
|
||||||
firmware:
|
firmware:
|
||||||
@@ -43,25 +47,17 @@ jobs:
|
|||||||
target: esp32s3
|
target: esp32s3
|
||||||
sdkconfig: sdkconfig.s3
|
sdkconfig: sdkconfig.s3
|
||||||
steps:
|
steps:
|
||||||
- name: Install Node.js
|
|
||||||
run: |
|
|
||||||
export DEBIAN_FRONTEND=noninteractive && \
|
|
||||||
if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then SUDO=sudo; else SUDO=; fi && \
|
|
||||||
$SUDO apt-get update && \
|
|
||||||
$SUDO apt-get install -y --no-install-recommends curl ca-certificates && \
|
|
||||||
curl -fsSL https://deb.nodesource.com/setup_20.x | $SUDO bash - && \
|
|
||||||
$SUDO apt-get install -y --no-install-recommends nodejs
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Build
|
- name: Build
|
||||||
if: hashFiles('CMakeLists.txt') != ''
|
if: hashFiles('CMakeLists.txt') != ''
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory '*' && \
|
git config --global --add safe.directory '*'
|
||||||
idf.py -B build/${{ matrix.board }} set-target ${{ matrix.target }} && \
|
idf.py -B build/${{ matrix.board }} set-target ${{ matrix.target }}
|
||||||
idf.py -B build/${{ matrix.board }} \
|
idf.py -B build/${{ matrix.board }} \
|
||||||
-D SDKCONFIG_DEFAULTS="sdkconfig.defaults;${{ matrix.sdkconfig }}" \
|
-D SDKCONFIG_DEFAULTS="sdkconfig.defaults;${{ matrix.sdkconfig }}" \
|
||||||
-D AUTOFILM_BOARD=${{ matrix.board }} \
|
-D AUTOFILM_BOARD=${{ matrix.board }} \
|
||||||
build && \
|
build
|
||||||
idf.py -B build/${{ matrix.board }} size | tee size-${{ matrix.board }}.txt && \
|
idf.py -B build/${{ matrix.board }} size | tee size-${{ matrix.board }}.txt
|
||||||
python $IDF_PATH/components/esptool_py/esptool/esptool.py \
|
python $IDF_PATH/components/esptool_py/esptool/esptool.py \
|
||||||
--chip ${{ matrix.target }} merge_bin \
|
--chip ${{ matrix.target }} merge_bin \
|
||||||
-o autofilm-${{ matrix.board }}-${{ gitea.sha }}.bin \
|
-o autofilm-${{ matrix.board }}-${{ gitea.sha }}.bin \
|
||||||
@@ -78,4 +74,3 @@ jobs:
|
|||||||
build/${{ matrix.board }}/flasher_args.json
|
build/${{ matrix.board }}/flasher_args.json
|
||||||
build/${{ matrix.board }}/sdkconfig
|
build/${{ matrix.board }}/sdkconfig
|
||||||
size-${{ matrix.board }}.txt
|
size-${{ matrix.board }}.txt
|
||||||
|
|
||||||
+12
-1
@@ -20,7 +20,7 @@ Gitea `act_runner` must be registered against `git.i3omb.com` with labels that m
|
|||||||
|
|
||||||
| Workflow `runs-on` | Typical runner label | Notes |
|
| Workflow `runs-on` | Typical runner label | Notes |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `ubuntu-latest` | `ubuntu-latest:docker://gitea/runner-images:ubuntu-latest` | Host tests, checkout, artifact upload |
|
| `ubuntu-latest` | `ubuntu-latest:docker://gitea/runner-images:ubuntu-latest` | Host tests, checkout, artifact upload. Image has **no cmake/gcc** — the test job must `apt-get install` them. |
|
||||||
| (job `container`) | Docker socket available on the runner | Firmware jobs use `espressif/idf:<tag>` as the job container |
|
| (job `container`) | Docker socket available on the runner | Firmware jobs use `espressif/idf:<tag>` as the job container |
|
||||||
|
|
||||||
Firmware builds need:
|
Firmware builds need:
|
||||||
@@ -155,6 +155,17 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install host toolchain
|
||||||
|
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
||||||
|
run: |
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
if command -v sudo >/dev/null 2>&1 && [ "$(id -u)" -ne 0 ]; then
|
||||||
|
SUDO=sudo
|
||||||
|
else
|
||||||
|
SUDO=
|
||||||
|
fi
|
||||||
|
$SUDO apt-get update
|
||||||
|
$SUDO apt-get install -y --no-install-recommends cmake gcc g++ make
|
||||||
- name: Host unit tests
|
- name: Host unit tests
|
||||||
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
if: hashFiles('tests/host/CMakeLists.txt') != ''
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -38,13 +38,15 @@ If blocked: stop, commit nothing broken, write `BLOCKED:` at top of the phase fi
|
|||||||
| P03 | `refactor/P03-machine-host.md` | `app_machine` + stub HAL + SM tests | DONE |
|
| P03 | `refactor/P03-machine-host.md` | `app_machine` + stub HAL + SM tests | DONE |
|
||||||
| P04 | `refactor/P04-gitea-ci.md` | `.gitea/workflows/ci.yml` live | DONE |
|
| P04 | `refactor/P04-gitea-ci.md` | `.gitea/workflows/ci.yml` live | DONE |
|
||||||
| P05 | `refactor/P05-hal-wroom-motion.md` | WROOM motor/temp/audio HAL | BLOCKED |
|
| P05 | `refactor/P05-hal-wroom-motion.md` | WROOM motor/temp/audio HAL | BLOCKED |
|
||||||
| P06 | `refactor/P06-ui-wroom-cutover.md` | 2004 UI + keypad + Stop/Resume cutover | TODO |
|
| P06 | `refactor/P06-ui-wroom-cutover.md` | 2004 UI + keypad + Stop/Resume cutover | BLOCKED |
|
||||||
| P07 | `refactor/P07-board-s3-ui.md` | JC4827W543 display+GT911+STOP | TODO |
|
| P07 | `refactor/P07-board-s3-ui.md` | JC4827W543 display+GT911+STOP | TODO |
|
||||||
| P08 | `refactor/P08-idf-debt.md` | Replace Arduino drivers (RMT etc.) | TODO |
|
| P08 | `refactor/P08-idf-debt.md` | Replace Arduino drivers (RMT etc.) | TODO |
|
||||||
|
|
||||||
P04 Notes: merge_bin uses `${{ gitea.sha }}` (not `github.sha`); runner unverified (no Actions run).
|
P04 Notes: merge_bin uses `${{ gitea.sha }}` (not `github.sha`); runner unverified (no Actions run).
|
||||||
|
|
||||||
P05 Notes: BLOCKED — no app_machine + HAL headers from P03 (branch @ 415c13a). Not implemented.
|
P05 Notes: BLOCKED — no app_machine + HAL headers from P03 (branch @ 415c13a). Not implemented. Later commits added P03 headers/stubs; device HAL + tasks still absent.
|
||||||
|
|
||||||
|
P06 Notes: BLOCKED — P05 WROOM motor/temp/audio HAL/tasks missing (headers + host stubs only; main.c idle). Not implemented.
|
||||||
|
|
||||||
## Dependency
|
## Dependency
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,16 @@
|
|||||||
|
BLOCKED: P05 WROOM motor/temp/audio HAL/tasks missing on branch refactor/esp-idf-modular-ui @ 674d067.
|
||||||
|
|
||||||
|
Required and absent:
|
||||||
|
- components/hal_motor device impl + motor_task (headers + host stubs only)
|
||||||
|
- components/hal_temp device impl + temp_task (headers + host stubs only)
|
||||||
|
- components/hal_audio device impl + audio_task (headers + host stubs only)
|
||||||
|
- main.c still board GPIO idle loop; no P05 task spawn
|
||||||
|
|
||||||
|
P05 phase file STATUS remains BLOCKED. Protocol: P06 requires P05. Do not implement P01–P05 in this session. No display/input HAL, app_ui, or startingMenu unlink landed.
|
||||||
|
|
||||||
# P06 — WROOM UI cutover (2004 + keypad + Stop/Resume)
|
# P06 — WROOM UI cutover (2004 + keypad + Stop/Resume)
|
||||||
|
|
||||||
STATUS: TODO
|
STATUS: BLOCKED
|
||||||
DEPENDS: P05
|
DEPENDS: P05
|
||||||
READ: this file, `src/menu.cpp`, `src/display.cpp`, `src/config.cpp`, `docs/TARGET_ARCHITECTURE.md` (screens + stop rules)
|
READ: this file, `src/menu.cpp`, `src/display.cpp`, `src/config.cpp`, `docs/TARGET_ARCHITECTURE.md` (screens + stop rules)
|
||||||
OUT: S3 LVGL, NVS profiles, keeping blocking `getEntEscInput` as the live path
|
OUT: S3 LVGL, NVS profiles, keeping blocking `getEntEscInput` as the live path
|
||||||
|
|||||||
Reference in New Issue
Block a user