Test corpus (empty, text, binary, compressible, incompressible) with reference archives created by original UC2 v2.3 in DOSBox. Two CTest tests: test_identify (magic detection) and test_extract (full extraction pipeline verified byte-for-byte against corpus).
34 lines
872 B
YAML
34 lines
872 B
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- { os: ubuntu-latest, name: Linux }
|
|
- { os: macos-latest, name: macOS }
|
|
- { os: windows-latest, name: Windows (MSVC) }
|
|
runs-on: ${{ matrix.os }}
|
|
name: ${{ matrix.name }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Configure
|
|
run: cmake -B build -DCMAKE_BUILD_TYPE=Release
|
|
- name: Build
|
|
run: cmake --build build --config Release
|
|
- name: Smoke test (Unix)
|
|
if: runner.os != 'Windows'
|
|
run: ./build/cli/uc2 -h
|
|
- name: Smoke test (Windows)
|
|
if: runner.os == 'Windows'
|
|
run: .\build\cli\Release\uc2.exe -h
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure -C Release
|