bevy_bitmap_text 0.2.0

Glyph-as-Entity dynamic atlas text rendering for Bevy
Documentation
name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main, develop ]

env:
  CARGO_TERM_COLOR: always
  APP_NAME: bevy_bitmap_text

permissions:
  checks: write
  contents: read

jobs:
  test:
    name: Test
    if: github.event.pull_request.draft == false
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install system dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y \
            libasound2-dev \
            libudev-dev \
            libwayland-dev \
            libxkbcommon-dev \
            libxrandr-dev \
            libx11-dev \
            libxi-dev \
            libxinerama-dev \
            libxcursor-dev \
            libgl1-mesa-dev \
            pkg-config \
            mold

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

      - name: Cache Rust dependencies
        uses: Swatinem/rust-cache@v2

      - name: Install cargo-nextest
        uses: taiki-e/install-action@nextest

      - name: Install tokei
        run: cargo install tokei

      - name: Check formatting
        run: cargo fmt -- --check

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

      - name: Lint checks
        run: bash tokei_check.sh

      - name: Build
        run: cargo build --verbose

      - name: Run tests
        run: cargo nextest run --verbose

  deny:
    name: Cargo Deny
    if: github.event.pull_request.draft == false
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: EmbarkStudios/cargo-deny-action@v2
        with:
          arguments: --all-features

  security:
    name: Security Audit
    if: github.event.pull_request.draft == false
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Generate lockfile
        run: cargo generate-lockfile
      - uses: rustsec/audit-check@v2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}