Skip to content

[codex] SafetyNET/Inmarsat and NMEA amendment cleanup #928

[codex] SafetyNET/Inmarsat and NMEA amendment cleanup

[codex] SafetyNET/Inmarsat and NMEA amendment cleanup #928

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Linux dependencies
run: sudo apt-get update && sudo apt-get install -y libevent-dev libconfig-dev pkg-config
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
- name: Build
run: cmake --build build --parallel
- name: Test
run: |
set +e
ctest --test-dir build --output-on-failure 2>&1 | tee build/ctest-output.log
status=${PIPESTATUS[0]}
tail -n 120 build/ctest-output.log
exit ${status}
- name: Upload ctest output
if: failure()
uses: actions/upload-artifact@v4
with:
name: ctest-output
path: build/ctest-output.log
arduino-atoms3r:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@v2
- name: Install ESP32 core and libraries
run: |
arduino-cli config init --overwrite
arduino-cli config add board_manager.additional_urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
arduino-cli core update-index
arduino-cli core install esp32:esp32
arduino-cli lib update-index
arduino-cli lib install M5Unified
arduino-cli lib install ArduinoJson
- name: Prepare vendored module libraries
run: |
cat > modules/async-event-loop/library.properties <<'EOF'
name=signalk-mini-async-event-loop
version=0.1.0
author=Bareboat Necessities
maintainer=Bareboat Necessities
sentence=Vendored async event loop module for signalk-mini.
paragraph=Source-only vendored module used by signalk-mini.
category=Communication
architectures=esp32
includes=async_event_loop.hpp
EOF
cat > modules/data-model/library.properties <<'EOF'
name=signalk-mini-data-model
version=0.1.0
author=Bareboat Necessities
maintainer=Bareboat Necessities
sentence=Vendored data model module for signalk-mini.
paragraph=Source-only vendored module used by signalk-mini.
category=Data Processing
architectures=esp32
includes=ship_data_model.hpp
EOF
cat > modules/nmea0183/library.properties <<'EOF'
name=signalk-mini-nmea0183
version=0.1.0
author=Bareboat Necessities
maintainer=Bareboat Necessities
sentence=Vendored NMEA0183 module for signalk-mini.
paragraph=Source-only vendored module used by signalk-mini.
category=Communication
architectures=esp32
includes=nmea0183_connector.hpp
EOF
- name: Compile AtomS3R sketch
run: |
arduino-cli compile \
--fqbn esp32:esp32:esp32s3 \
--library . \
--library modules/async-event-loop \
--library modules/data-model \
--library modules/nmea0183 \
mcu/signalk-atoms3r