Files
Vernier/.gitea/workflows/ci.yaml
T

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