ranim 0.2.0

An animation engine inspired by manim and JAnim
Documentation
name: Build
on:
  pull_request:
  push:
    branches:
      - main

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    if: github.repository == 'AzurIce/ranim'
    steps:
      - name: Checkout sources
        uses: actions/checkout@v4

      - name: Install rust toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: nightly-2026-01-01
          targets: wasm32-unknown-unknown

      - uses: Swatinem/rust-cache@v2
        with:
          shared-key: "check"

      - name: Run cargo check
        run: cargo check

      - name: Run cargo check
        run: cargo check --target wasm32-unknown-unknown

  # test:
  #   name: Test Suite
  #   runs-on: ${{ matrix.os }}
  #   if: github.repository == 'AzurIce/ranim'
  #   env:
  #     RUST_BACKTRACE: 1
  #   strategy:
  #     matrix:
  #       os: [ubuntu-latest, windows-latest]
  #   steps:
  #     - name: Checkout sources
  #       uses: actions/checkout@v4

  #     - name: Install rust toolchain
  #       uses: dtolnay/rust-toolchain@stable

  #     - uses: cargo-bins/cargo-binstall@main
  #     - run: cargo binstall typst-cli -y --force

  #     - uses: FedericoCarboni/setup-ffmpeg@v3

  #     - uses: Swatinem/rust-cache@v2
  #       with:
  #         shared-key: "build"

  #     - name: Run cargo test
  #       run: cargo test --workspace

  #     # - name: Run cargo integration-test
  #     #   run: cargo integration-test

  lints:
    name: Lints
    runs-on: ubuntu-latest
    if: github.repository == 'AzurIce/ranim'
    steps:
      - name: Checkout sources
        uses: actions/checkout@v4

      - name: Install rust toolchain
        uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt, clippy

      - uses: Swatinem/rust-cache@v2
        with:
          shared-key: "build"

      - name: Run cargo fmt
        run: cargo fmt --all --check

      - name: Run cargo clippy
        run: cargo clippy --workspace --all-targets -- -D warnings

      - name: Run cargo doc
        run: cargo doc --no-deps --workspace --document-private-items
        env:
          RUSTDOCFLAGS: -D warnings

  # docs:
  #   name: Docs
  #   runs-on: ubuntu-latest
  #   if: github.repository == 'AzurIce/ranim'
  #   steps:
  #     - name: Checkout sources
  #       uses: actions/checkout@v4

  #     - name: Install rust toolchain
  #       uses: dtolnay/rust-toolchain@stable

  #     - uses: Swatinem/rust-cache@v2
  #       with:
  #         shared-key: "build"

  #     - name: Validate queries
  #       run: cargo xtask query-check

  #     - name: Validate themes
  #       run: cargo xtask theme-check

  #     - name: Generate docs
  #       run: cargo xtask docgen

  #     - name: Check uncommitted documentation changes
  #       run: |
  #         git diff
  #         git diff-files --quiet \
  #           || (echo "Run 'cargo xtask docgen', commit the changes and push again" \
  #           && exit 1)