Skip to content

components: skip live probes under KASLD_SYSROOT replay #104

components: skip live probes under KASLD_SYSROOT replay

components: skip live probes under KASLD_SYSROOT replay #104

Workflow file for this run

name: build
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install dependencies
# shellcheck lets `make check`'s lint guards run tests/check-shellcheck
# over the extra/ helper scripts (it soft-skips when absent).
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc-i686-linux-gnu shellcheck
- 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