Skip to content

P3-A1: ESP32-P4 bounded binary decoder, staged transport and atomic profile activation #2432

P3-A1: ESP32-P4 bounded binary decoder, staged transport and atomic profile activation

P3-A1: ESP32-P4 bounded binary decoder, staged transport and atomic profile activation #2432

Workflow file for this run

name: C++ CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
linux:
name: Linux / ${{ matrix.compiler }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compiler: [gcc, clang]
steps:
- uses: actions/checkout@v4
- name: Select compiler
shell: bash
run: |
if [[ "${{ matrix.compiler }}" == "gcc" ]]; then
echo "CC=gcc" >> "$GITHUB_ENV"
echo "CXX=g++" >> "$GITHUB_ENV"
else
echo "CC=clang" >> "$GITHUB_ENV"
echo "CXX=clang++" >> "$GITHUB_ENV"
fi
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DARIEC61850_WARNINGS_AS_ERRORS=ON
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure
- name: Build SCL-assisted connect wire profile
run: |
cmake -S tests/scl_assisted_profile -B build-scl -DCMAKE_BUILD_TYPE=Release
cmake --build build-scl --target scl_assisted_connect_profile --parallel
- name: Run SCL-assisted connect wire profile
run: ./build-scl/scl_assisted_connect_profile
- name: Cross-language model parity tool self-test
run: python3 tools/compare_live_model_json.py --self-test
- name: Read-only evidence runner syntax and CLI smoke
run: |
python3 -m py_compile scripts/run-live-readonly-interop.py
python3 scripts/run-live-readonly-interop.py --help > /dev/null
python3 -m py_compile scripts/run-phase4c-physical-acceptance.py
python3 scripts/run-phase4c-physical-acceptance.py --help > /dev/null
python3 -m py_compile scripts/run-phase4c-timeout-recovery.py
python3 scripts/run-phase4c-timeout-recovery.py --help > /dev/null
windows:
name: Windows / MSVC
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Configure
run: cmake -S . -B build -A x64 -DARIEC61850_WARNINGS_AS_ERRORS=ON
- name: Build
run: cmake --build build --config Release --parallel
- name: Test
run: ctest --test-dir build -C Release --output-on-failure
- name: Build SCL-assisted connect wire profile
run: |
cmake -S tests/scl_assisted_profile -B build-scl -A x64
cmake --build build-scl --config Release --target scl_assisted_connect_profile --parallel
- name: Run SCL-assisted connect wire profile
run: .\build-scl\Release\scl_assisted_connect_profile.exe
- name: Evidence tooling self-tests
run: |
python tools/compare_live_model_json.py --self-test
python -m py_compile scripts/run-live-readonly-interop.py
python scripts/run-live-readonly-interop.py --help | Out-Null
python -m py_compile scripts/run-phase4c-physical-acceptance.py
python scripts/run-phase4c-physical-acceptance.py --help | Out-Null
python -m py_compile scripts/run-phase4c-timeout-recovery.py
python scripts/run-phase4c-timeout-recovery.py --help | Out-Null