Skip to content

Cast fragment

Cast fragment #964

Workflow file for this run

name: CI
on:
push:
branches:
- main
paths:
- "Cargo.lock"
- "**.rs"
- "**.yml"
- "**.toml"
- "!**.md"
- "!LICENSE-APACHE"
- "!LICENSE-MIT"
pull_request:
types: [opened, synchronize]
paths:
- "Cargo.lock"
- "**.rs"
- "**.yml"
- "**.toml"
- "!**.md"
- "!LICENSE-APACHE"
- "!LICENSE-MIT"
env:
CARGO_TERM_COLOR: always
RUST_PREVIOUS_VERSION: 1.81.0
# Sourced from https://vulkan.lunarg.com/sdk/home#linux
VULKAN_SDK_VERSION: "1.3.268"
# Sourced from https://archive.mesa3d.org/. Bumping this requires
# updating the mesa build in https://github.com/gfx-rs/ci-build and creating a new release.
MESA_VERSION: "23.3.1"
# Corresponds to https://github.com/gfx-rs/ci-build/releases
MESA_CI_BINARY_BUILD: "build18"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare-checks:
runs-on: ubuntu-22.04
outputs:
rust-prev-version: ${{ env.RUST_PREVIOUS_VERSION }}
steps:
- name: Do Nothing
if: false
run: echo
code-quality:
runs-on: ubuntu-22.04
needs: prepare-checks
strategy:
matrix:
rust: [stable]
include:
- rust: stable
toolchain: stable
steps:
- name: Setup Rust
uses: tracel-ai/github-actions/setup-rust@v1
with:
rust-toolchain: ${{ matrix.toolchain }}
cache-key: ${{ matrix.rust }}-linux
# --------------------------------------------------------------------------------
- name: Audit
run: cargo xtask check audit
# --------------------------------------------------------------------------------
- name: Format
shell: bash
env:
# work around for colors
# see: https://github.com/rust-lang/rustfmt/issues/3385
TERM: xterm-256color
run: cargo xtask check format
# --------------------------------------------------------------------------------
- name: Lint
run: cargo xtask check lint
# --------------------------------------------------------------------------------
- name: Typos
uses: tracel-ai/github-actions/check-typos@v1
documentation:
runs-on: ubuntu-22.04
needs: prepare-checks
strategy:
matrix:
rust: [stable]
include:
- rust: stable
toolchain: stable
steps:
- name: Setup Rust
uses: tracel-ai/github-actions/setup-rust@v1
with:
rust-toolchain: ${{ matrix.toolchain }}
cache-key: ${{ matrix.rust }}-linux
# --------------------------------------------------------------------------------
- name: Documentation Build
run: cargo xtask doc build
# --------------------------------------------------------------------------------
- name: Documentation Tests
run: cargo xtask doc tests
linux-std-tests:
runs-on: ubuntu-22.04
needs: prepare-checks
strategy:
matrix:
rust: [stable, prev]
include:
- rust: stable
toolchain: stable
- rust: prev
toolchain: ${{ needs.prepare-checks.outputs.rust-prev-version }}
steps:
- name: Setup Rust
uses: tracel-ai/github-actions/setup-rust@v1
with:
rust-toolchain: ${{ matrix.toolchain }}
cache-key: ${{ matrix.rust }}-linux
# --------------------------------------------------------------------------------
- name: Setup Linux runner
uses: tracel-ai/github-actions/setup-linux@v1
with:
vulkan-sdk-version: ${{ env.VULKAN_SDK_VERSION }}
mesa-version: ${{ env.MESA_VERSION }}
mesa-ci-build-version: ${{ env.MESA_CI_BINARY_BUILD }}
# --------------------------------------------------------------------------------
- name: Tests
run: cargo xtask test --ci
# windows-std-tests:
# runs-on: windows-2022
# needs: prepare-checks
# env:
# DISABLE_WGPU: '1'
# # Keep the stragegy to be able to easily add new rust versions if required
# strategy:
# matrix:
# rust: [stable]
# include:
# - rust: stable
# toolchain: stable
# steps:
# - name: Setup Rust
# uses: tracel-ai/github-actions/setup-rust@v1
# with:
# rust-toolchain: ${{ matrix.toolchain }}
# cache-key: ${{ matrix.rust }}-windows
# # --------------------------------------------------------------------------------
# - name: Setup Windows runner
# if: env.DISABLE_WGPU != '1'
# uses: tracel-ai/github-actions/setup-windows@v1
# with:
# dxc-release: ${{ env.DXC_RELEASE }}
# dxc-filename: ${{ env.DXC_FILENAME }}
# mesa-version: ${{ env.MESA_VERSION }}
# warp-version: ${{ env.WARP_VERSION }}
# # --------------------------------------------------------------------------------
# - name: Tests
# run: cargo xtask test --ci
# macos-std-tests:
# runs-on: macos-14
# needs: prepare-checks
# # Keep the stragegy to be able to easily add new rust versions if required
# strategy:
# matrix:
# rust: [stable]
# include:
# - rust: stable
# toolchain: stable
# steps:
# - name: Setup Rust
# uses: tracel-ai/github-actions/setup-rust@v1
# with:
# rust-toolchain: ${{ matrix.toolchain }}
# cache-key: ${{ matrix.rust }}-macos
# # --------------------------------------------------------------------------------
# - name: Tests
# run: cargo xtask test --ci