rusty-rich 0.4.1

Rich text and beautiful formatting in the terminal — a Rust port of Python's Rich library
Documentation
name: Security Audit

on:
  push:
    branches: [main, master]
    paths:
      - "Cargo.toml"
      - "Cargo.lock"
      - ".github/workflows/security-audit.yml"
  pull_request:
    branches: [main, master]
    paths:
      - "Cargo.toml"
      - "Cargo.lock"
      - ".github/workflows/security-audit.yml"
  schedule:
    # Run at 07:17 UTC every Monday (off-peak, randomized minute)
    - cron: "17 7 * * 1"

env:
  CARGO_TERM_COLOR: always

jobs:
  # ── cargo-audit: RustSec advisory DB check ─────────────────────
  cargo-audit:
    name: cargo-audit
    runs-on: ubuntu-latest
    permissions:
      contents: read
      security-events: write
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a # v1
        with:
          toolchain: stable

      - name: Install cargo-audit
        run: cargo install cargo-audit --locked

      - name: Run cargo-audit
        run: cargo audit --deny warnings

  # ── cargo-deny: license + duplicate + source check ─────────────
  cargo-deny:
    name: cargo-deny
    runs-on: ubuntu-latest
    permissions:
      contents: read
    strategy:
      matrix:
        checks:
          - advisories
          - bans licenses sources
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - uses: EmbarkStudios/cargo-deny-action@e9b17bf604a44f8b1e60a02f5e63242027a3546c # v2.0.12
        with:
          command: check ${{ matrix.checks }}
          arguments: --all-features
          rust-version: stable

  # ── CodeQL analysis ───────────────────────────────────────────
  codeql:
    name: CodeQL
    runs-on: ubuntu-latest
    permissions:
      contents: read
      security-events: write
      actions: read
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - name: Initialize CodeQL
        uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
        with:
          languages: rust
          queries: security-extended,security-and-quality

      - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a # v1
        with:
          toolchain: stable

      - uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2.7.8

      - name: Build
        run: cargo build

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
        with:
          category: "/language:rust"