Skip to content

Lay the config persistence foundation for runtime mod settings #1

Lay the config persistence foundation for runtime mod settings

Lay the config persistence foundation for runtime mod settings #1

name: Persistence fixtures
on:
pull_request:
push:
branches: [main, dev]
workflow_dispatch:
permissions:
contents: read
jobs:
native-fixtures:
strategy:
fail-fast: false
matrix:
runner: [windows-2025-vs2026, macos-26, macos-26-intel]
runs-on: ${{ matrix.runner }}
timeout-minutes: 10
steps:
- uses: actions/checkout@v7
- name: Windows fixtures
if: runner.os == 'Windows'
shell: pwsh
run: |
foreach ($fixture in @('file_transaction', 'snapshot_save_queue', 'snapshot_save_worker')) {
clang++ -std=c++23 -Wall -Wextra -Werror -I mods/src "tests/${fixture}_test.cc" -o "${fixture}_test.exe" -ladvapi32
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
& "./${fixture}_test.exe"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
}
- name: macOS fixtures
if: runner.os == 'macOS'
shell: bash
env:
MACOSX_DEPLOYMENT_TARGET: '13.5'
run: |
for fixture in file_transaction snapshot_save_queue snapshot_save_worker; do
clang++ -std=c++23 -Wall -Wextra -Werror -pthread -I mods/src "tests/${fixture}_test.cc" -o "${fixture}_test"
"./${fixture}_test"
done