name: fparkan-ci on: push: branches: [devel, main] pull_request: branches: [devel, main] workflow_dispatch: jobs: msrv-backend-neutral: name: MSRV backend-neutral crates runs-on: ubuntu-latest timeout-minutes: 20 env: CARGO_TERM_COLOR: always steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 with: toolchain: 1.87.0 - name: Test backend-neutral crates run: > cargo test -p fparkan-animation -p fparkan-binary -p fparkan-corpus -p fparkan-diagnostics -p fparkan-fx -p fparkan-inspection -p fparkan-material -p fparkan-mission-format -p fparkan-msh -p fparkan-nres -p fparkan-path -p fparkan-platform -p fparkan-prototype -p fparkan-render -p fparkan-resource -p fparkan-rsli -p fparkan-runtime -p fparkan-terrain -p fparkan-terrain-format -p fparkan-texm -p fparkan-vfs -p fparkan-world --all-targets --locked stage0-matrix: name: Stage 0-2 CI (${{ matrix.os }}) runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: include: - os: ubuntu-latest smoke_platform: linux - os: windows-latest smoke_platform: windows - os: macos-latest smoke_platform: macos env: CARGO_TERM_COLOR: always steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 with: toolchain: 1.87.0 components: clippy,rustfmt - name: Install cargo-deny run: cargo install cargo-deny --version 0.19.9 --locked - name: Run canonical CI gate run: cargo xtask ci - name: Record native Vulkan smoke status if: always() shell: bash run: > cargo run -p fparkan-vulkan-smoke --locked -- --platform "${{ matrix.smoke_platform }}" --out "target/fparkan/native-smoke/${{ runner.os }}.json" --status blocked --probe-surface --reason "native Vulkan smoke runner is not enabled on this CI lane yet" - name: Upload acceptance evidence if: always() uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 with: name: stage-0-2-acceptance-${{ matrix.os }} path: | target/fparkan/acceptance/stage-0-2-audit.json target/fparkan/native-smoke/*.json if-no-files-found: error