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>
LLVM/clang is not used for any compilation due to it not supporting the
8-bit architectures we use (MCS-51, AVR). This means we are effectively
installing 250+ MiB of dependencies for a C formatting tool.
Replace it with uncrustify, which uses only ~600 KiB of space and has
more granular control of formatting (800+ options).
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Fixes the following warnings in Actions:
Node.js 16 actions are deprecated. Please update the following
actions to use Node.js 20: actions/checkout@v3.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Rewrite lint scripts to report what they do and if they pass. In the
case they fail list the files that caused the failure, except for
clang-format, which will be slow to run of every file individually
(should just run `make fmt` anyway). Also add a script to run all the
lints in order with a single command.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Default to silent builds, only outputting the file being generated. This
gives output similar to Linux/coreboot output when building. `VERBOSE=1`
can be passed to show the actual commands.
Signed-off-by: Tim Crawford <tcrawford@system76.com>