36 lines
1.5 KiB
YAML
36 lines
1.5 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
container: rust:1.96
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# lavapipe: software Vulkan for the headless screenshot tests.
|
|
# OCCT dev packages: headers + toolkits for the vernier-occt-sys facade.
|
|
- run: apt-get update && apt-get install -y --no-install-recommends python3 fish jq patchelf mesa-vulkan-drivers libocct-foundation-dev libocct-modeling-data-dev libocct-modeling-algorithms-dev
|
|
- run: rustup component add rustfmt clippy
|
|
# The same exact manifest as scripts/check.fish. Its compiling Cargo
|
|
# rows explicitly select system-occt; CI never starts a vendored build.
|
|
# The adapter remains
|
|
# explicit so a Vulkan-to-GL fallback is a hard failure. Golden-bearing
|
|
# scripts run with PNG comparison skipped on software until a measured
|
|
# llvmpipe budget is committed; geometry, interaction, determinism and
|
|
# exact negative controls still run from the shared manifest.
|
|
- run: python3 scripts/run-acceptance-gate.py --adapter llvmpipe
|
|
env:
|
|
VK_DRIVER_FILES: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
|
|
XDG_CONFIG_HOME: /tmp/vernier-acceptance-config
|
|
# Timings, child reports, PNGs, exports, and stdout/stderr for every
|
|
# attempted step are retained even when the fail-fast runner stops.
|
|
- uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: vernier-acceptance
|
|
path: target/acceptance
|