Skip to content

eboot v0.1.0 — ISO/IEC Certified #74

eboot v0.1.0 — ISO/IEC Certified

eboot v0.1.0 — ISO/IEC Certified #74

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Configure
run: cmake -B build -DEBLDR_BUILD_TESTS=ON
- name: Build
run: cmake --build build --config Release
- name: Test
run: ctest --test-dir build --output-on-failure -C Release
config-generation:
name: Config Generation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -r requirements.txt
- name: Test generate_config.py
run: |
cat > /tmp/test_boot.yaml << 'EOF'
boot:
board: stm32f4
arch: arm
flash_base: "0x08000000"
flash_size: 1048576
layout:
stage0: { offset: "0x0", size: 16384 }
stage1: { offset: "0x4000", size: 65536 }
bootctl_primary: { offset: "0x14000", size: 4096 }
bootctl_backup: { offset: "0x15000", size: 4096 }
slot_a: { offset: "0x16000", size: 479232 }
slot_b: { offset: "0x8B000", size: 479232 }
policy:
max_boot_attempts: 3
watchdog_timeout_ms: 5000
require_signature: true
EOF
python scripts/generate_config.py /tmp/test_boot.yaml /tmp/generated/
test -f /tmp/generated/eboot_generated_layout.h
test -f /tmp/generated/eboot_generated_memory.ld
echo "Config generation passed"