tests: split renderer suite out of test_kasld into test_render #70
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc-i686-linux-gnu | |
| - name: Build | |
| run: make | |
| - name: Run unit + integration tests | |
| run: make check | |
| # Build the 32-bit x86 binary too (auto-static when cross-compiling), so the | |
| # end-to-end step also covers the x86_32 fixture. If the static link is | |
| # unavailable the i686 fixture just skips below — never fatal. | |
| - name: Build i686 | |
| run: make build CC=i686-linux-gnu-gcc || true | |
| # End-to-end over the REAL binary on the x86 fixtures, run NATIVELY (no | |
| # qemu): the only CI coverage of main() + the engine bridge + the renderers, | |
| # which `make check` compiles out under -DKASLD_TESTING. Foreign-arch | |
| # fixtures need qemu and are skipped here (the cross job build-checks them). | |
| - name: End-to-end replay (x86, native) | |
| run: KASLD_NATIVE=1 tests/replay tests/fixtures/x86_64/* tests/fixtures/x86_32/* | |
| # Compile-gate every released arch on push/PR (matrix + steps in | |
| # _cross-build.yml, shared with release.yml so the arch set can't drift). | |
| # Pinned for deterministic PR builds + a stable cache; bump periodically. | |
| # release.yml tracks the latest cross-tools release instead. | |
| cross-compile: | |
| uses: ./.github/workflows/_cross-build.yml | |
| with: | |
| toolchain_version: '20260515' | |
| package: false |