Run NMEA host regressions in CI

Add an independent Ubuntu job for all three hardware-independent NMEA tests, with fatal address and undefined-behavior sanitizer checks.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
This commit is contained in:
ladyadaandLimor Fried committed 2026-09-15 15:34:09 -04:00
1 parent 90c20730f5
commit 5ffa2dfd34
1 file changed
+20
+20
View File
@@ -3,6 +3,26 @@ name: Arduino Library CI
on: [pull_request, push, repository_dispatch]
jobs:
nmea-tests:
name: NMEA regression tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run host tests with sanitizers
shell: bash
run: |
set -euo pipefail
mkdir -p "$RUNNER_TEMP/nmea-tests"
for test in nmea_validate nmea_fields nmea_utilities; do
echo "Running $test"
g++ -std=c++11 -Wall -Wextra -Werror -g \
-fsanitize=address,undefined -fno-sanitize-recover=all \
-fno-omit-frame-pointer -Isrc src/Adafruit_NMEA.cpp \
"extras/tests/$test/$test.cpp" -o "$RUNNER_TEMP/nmea-tests/$test"
"$RUNNER_TEMP/nmea-tests/$test"
done
build:
runs-on: ubuntu-latest