I regularly use the `.mem` file to determine the impact changes have on the RAM and flash usage. Print it as part of CI so I can easily see it for all boards. Signed-off-by: Tim Crawford <tcrawford@system76.com>
68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-24.04
|
|
outputs:
|
|
boards: ${{ steps.board-matrix.outputs.boards }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: ./scripts/deps.sh
|
|
|
|
- name: Check SPDX tags
|
|
run: ./scripts/lint/01-spdx-tags.sh
|
|
|
|
- name: Check formatting
|
|
run: ./scripts/lint/02-uncrustify.sh
|
|
|
|
- name: Check shell scripts
|
|
run: ./scripts/lint/03-shellcheck.sh
|
|
|
|
- name: Generate board matrix
|
|
id: board-matrix
|
|
run: echo "boards=$(make list-boards | jq -sRc 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
|
|
|
|
tool:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- features:
|
|
- features: --no-default-features --features="redox_hwio"
|
|
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: ./scripts/deps.sh
|
|
|
|
- name: Build tool
|
|
run: cargo build ${{ matrix.features }} --release --manifest-path tool/Cargo.toml
|
|
|
|
ec:
|
|
runs-on: ubuntu-24.04
|
|
needs: lint
|
|
strategy:
|
|
matrix:
|
|
boards: ${{ fromJson(needs.lint.outputs.boards) }}
|
|
# TODO: Conditionally build based on files changed?
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: ./scripts/deps.sh
|
|
|
|
- name: Build firmware
|
|
run: make BOARD=${{ matrix.boards }} VERBOSE=1
|
|
|
|
- name: Show memory layout
|
|
run: cat build/ec.mem
|
|
continue-on-error: true
|