@@ -10,25 +10,19 @@ permissions:
1010
1111jobs :
1212 python :
13- name : Python ${{ matrix.python }}
13+ name : Python 3.11
1414 runs-on : ubuntu-24.04
15- strategy :
16- fail-fast : false
17- matrix :
18- python : ["3.11", "3.13"]
1915 steps :
2016 - uses : actions/checkout@v4
2117 - uses : astral-sh/setup-uv@v5
2218 with :
2319 enable-cache : true
24- - run : uv python install ${{ matrix.python }}
25- - run : uv sync --project pi --frozen --python ${{ matrix.python }}
20+ - run : uv python install 3.11
21+ - run : uv sync --project pi --frozen --python 3.11
2622 - run : uv run --project pi --frozen ruff check pi tools stm32/scripts
2723 - run : uv run --project pi --frozen ruff format --check pi tools stm32/scripts
24+ - run : uv run --project pi --frozen mypy pi/src/beamcontrol
2825 - run : uv run --project pi --frozen pytest pi/tests tools/tests --cov=beamcontrol
29- - name : Type check (Python 3.11)
30- if : matrix.python == '3.11'
31- run : uv run --project pi --frozen mypy pi/src/beamcontrol
3226
3327 c-host-tests :
3428 name : Native firmware unit tests
4640 - run : make protocol-check
4741
4842 firmware :
49- name : Firmware node ${{ matrix.node }}
43+ name : Firmware nodes 1-3
5044 runs-on : ubuntu-24.04
51- strategy :
52- fail-fast : false
53- matrix :
54- node : [1, 2, 3]
5545 steps :
5646 - uses : actions/checkout@v4
5747 - uses : actions/cache@v4
@@ -64,10 +54,13 @@ jobs:
6454 run : make toolchain libopencm3
6555 - name : Build libopencm3
6656 run : make libopencm3-build
67- - name : Build firmware
68- run : make firmware NODE=${{ matrix.node }}
69- - name : Show size
70- run : make firmware-size NODE=${{ matrix.node }}
57+ - name : Build firmware images
58+ run : make firmware-all
59+ - name : Show image sizes
60+ run : |
61+ for image in build/firmware/node-*/*.elf; do
62+ .tools/arm-gnu-toolchain/bin/arm-none-eabi-size "$image"
63+ done
7164
7265 deployment-bundle :
7366 name : Raspberry Pi 5 deployment bundle
0 commit comments