[go: up one dir, main page]

glam 0.30.3

A simple and fast 3D math library for games and graphics
Documentation
name: CI
on: [push, pull_request]
jobs:

  lint:
    name: Lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - run: rustup update --no-self-update stable
      - run: rustup default stable

      # make sure all code has been formatted with rustfmt and linted with clippy
      - name: rustfmt
        run: cargo fmt -- --check --color always

      # run clippy to verify we have no warnings
      - run: cargo fetch
      - name: cargo clippy
        run: cargo clippy --workspace --all-targets --all-features -- -D warnings

      # check that codegen output matches committed source files
      - name: codegen
        run: cargo run --release -p codegen -- --check

      - name: Build-test documentation
        env:
          RUSTDOCFLAGS: -Dwarnings
        run: cargo doc --all --all-features --no-deps --document-private-items --features rkyv/pointer_width_32

  test:
    name: Test
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        toolchain: [stable, beta, nightly]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - run: rustup update --no-self-update ${{ matrix.toolchain }}
      - run: rustup default ${{ matrix.toolchain }}
      - run: ./build_and_test_features.sh
        shell: bash

  check-msrv:
    name: Check MSRV
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        toolchain: [1.68.2]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - run: rustup update --no-self-update ${{ matrix.toolchain }}
      - run: rustup default ${{ matrix.toolchain }}
      - run: ./build_all_msrv.sh
        shell: bash

  test-core-simd:
    name: Test portable simd
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        toolchain: [nightly]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - run: rustup update --no-self-update ${{ matrix.toolchain }}
      - run: rustup default ${{ matrix.toolchain }}
      - run: cargo test --features core-simd
        shell: bash

  test-wasm:
    name: Test wasm
    strategy:
      matrix:
        toolchain: [stable]
        os: [ubuntu-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4

      - name: Install
        run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

      - run: ./build_and_test_wasm32_firefox.sh
      - run: ./build_and_test_wasm32_chrome.sh

  # macos-latest uses aarch64 so using cross shouldn't be necessary anymore
  # test-arm:
  #   name: Test Arm
  #   runs-on: ubuntu-latest
  #   strategy:
  #     fail-fast: false
  #     matrix:
  #       target:
  #         - aarch64-unknown-linux-gnu
  #         - arm-unknown-linux-gnueabi
  #   steps:
  #     - uses: actions/checkout@v4
  #     - run: rustup update --no-self-update stable
  #     - run: rustup default stable
  #     - run: rustup target add --toolchain stable ${{matrix.target}}
  #     - uses: taiki-e/install-action@cross
  #     - run: cross test --target ${{matrix.target}}