ranim 0.2.0

An animation engine inspired by manim and JAnim
Documentation
name: Website

on:
  push:
    branches: ["main"]
  pull_request:
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: true

jobs:
  build-website:
    runs-on: ubuntu-22.04
    if: github.repository == 'AzurIce/ranim'
    steps:
      - uses: jlumbroso/free-disk-space@main
        with:
          tool-cache: false
          android: true
          dotnet: true
          haskell: true
          large-packages: true
          docker-images: true
          swap-storage: true

      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

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

      - uses: taiki-e/install-action@v2
        with:
          tool: just, zola@0.22, wasm-bindgen

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

      - name: Build wasm examples
        run: cargo examples build

      - run: just website

      - name: Upload GitHub Pages artifact
        uses: actions/upload-pages-artifact@v1.0.7
        with:
          path: ./website/public

  deploy-website:
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    needs: build-website
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy GitHub Pages site
        id: deployment
        uses: actions/deploy-pages@v4