diff options
Diffstat (limited to '.github/workflows/ci.yml')
| -rw-r--r-- | .github/workflows/ci.yml | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 62e1e0a..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,159 +0,0 @@ -name: fparkan-ci - -on: - push: - branches: [devel, main] - pull_request: - branches: [devel, main] - workflow_dispatch: - -jobs: - msrv-backend-neutral: - name: Pinned Rust 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.98.1 - - 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 CI (${{ matrix.os }}) - runs-on: ${{ matrix.os }} - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - include: - - os: macos-15 - smoke_platform: macos - runner_arch: arm64 - moltenvk_version: 1.4.1 - vulkan_sdk_version: 1.4.350.1 - env: - CARGO_TERM_COLOR: always - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 - with: - toolchain: 1.98.1 - components: clippy,rustfmt - - name: Provision macOS Vulkan runtime - shell: bash - run: | - set -euo pipefail - brew install molten-vk vulkan-loader vulkan-tools vulkan-validationlayers - test "$(uname -m)" = "${{ matrix.runner_arch }}" - ruby <<'RUBY' - require "json" - - expected = { - "molten-vk" => "${{ matrix.moltenvk_version }}", - "vulkan-loader" => "${{ matrix.vulkan_sdk_version }}", - "vulkan-tools" => "${{ matrix.vulkan_sdk_version }}", - "vulkan-validationlayers" => "${{ matrix.vulkan_sdk_version }}", - } - payload = JSON.parse(`brew info --json=v2 #{expected.keys.join(" ")}`) - actual = payload.fetch("formulae").to_h do |formula| - [formula.fetch("name"), formula.fetch("versions").fetch("stable")] - end - mismatches = expected.each_with_object({}) do |(name, version), out| - actual_version = actual[name] - next if actual_version == version - - out[name] = { - "expected" => version, - "actual" => actual_version, - } - end - unless mismatches.empty? - warn JSON.pretty_generate(mismatches) - abort "unexpected macOS Vulkan formula version" - end - RUBY - HOMEBREW_PREFIX="$(brew --prefix)" - VK_ICD_FILENAMES="$HOMEBREW_PREFIX/opt/molten-vk/etc/vulkan/icd.d/MoltenVK_icd.json" - VK_LAYER_PATH="$HOMEBREW_PREFIX/opt/vulkan-validationlayers/share/vulkan/explicit_layer.d" - DYLD_FALLBACK_LIBRARY_PATH="$HOMEBREW_PREFIX/opt/vulkan-loader/lib:$HOMEBREW_PREFIX/opt/molten-vk/lib" - test -f "$VK_ICD_FILENAMES" - test -d "$VK_LAYER_PATH" - echo "VK_ICD_FILENAMES=$VK_ICD_FILENAMES" >> "$GITHUB_ENV" - echo "VK_LAYER_PATH=$VK_LAYER_PATH" >> "$GITHUB_ENV" - echo "DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH" >> "$GITHUB_ENV" - - name: Install cargo-deny - run: cargo install cargo-deny --version 0.19.9 --locked - - name: Verify shader provenance - run: cargo xtask shader-provenance - - name: Run canonical CI gate - run: cargo xtask ci - - name: Run native Vulkan smoke - run: > - cargo run -p fparkan-vulkan-smoke --locked -- - --out "target/fparkan/native-smoke/${{ matrix.smoke_platform }}.json" - --timeout-seconds 120 - - name: Upload acceptance audit - if: always() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 - with: - name: stage-0-acceptance-${{ matrix.os }} - path: target/fparkan/acceptance/stage-0-audit.json - if-no-files-found: error - - name: Upload native smoke report - if: always() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 - with: - name: native-smoke-${{ matrix.smoke_platform }} - path: target/fparkan/native-smoke/*.json - if-no-files-found: error - - native-smoke-audit: - name: Native smoke audit - runs-on: ubuntu-latest - timeout-minutes: 15 - needs: stage0-matrix - env: - CARGO_TERM_COLOR: always - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 - with: - toolchain: 1.98.1 - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 - with: - pattern: native-smoke-* - path: target/fparkan/native-smoke-artifacts - merge-multiple: true - - name: Aggregate native smoke reports - run: > - cargo xtask native-smoke audit - --dir target/fparkan/native-smoke-artifacts |
