mirror of
https://github.com/agessaman/MeshCore.git
synced 2026-10-13 06:37:35 +00:00
Release builds published without running the unit tests or the preset parity check. Both channels now call those workflows and depend on them, parity pins the channel under test to the candidate SHA rather than a branch tip that may have moved, and check_observer_ci.py fails the run if that graph is weakened. Adds a sanitized native environment and extends the PR smoke matrix to the observer channels.
47 lines
1.1 KiB
YAML
47 lines
1.1 KiB
YAML
name: Run Unit Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- master
|
|
pull_request:
|
|
workflow_dispatch:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Clone Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Build Environment
|
|
uses: ./.github/actions/setup-build-environment
|
|
|
|
- name: Verify ArduinoJson pin
|
|
run: |
|
|
python3 -B scripts/check_arduinojson_pin.py --self-test
|
|
python3 -B scripts/check_arduinojson_pin.py
|
|
|
|
- name: Verify observer tooling
|
|
run: |
|
|
python3 -m pip install PyYAML==6.0.2
|
|
python3 -B scripts/check_mqtt_preset_parity.py --self-test
|
|
python3 -B scripts/check_observer_ci.py
|
|
|
|
- name: Run Unit Tests
|
|
run: pio test -e native -e native_kiss_modem -e native_sanitized -vv
|
|
|
|
- name: Upload Test Results
|
|
# Upload test results even if the test step failed.
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-results
|
|
path: |
|
|
.pio/build/native/
|
|
.pio/build/native_kiss_modem/
|
|
.pio/build/native_sanitized/
|