tui-widgets 0.7.2

A collection of useful widgets for building terminal user interfaces using Ratatui
Documentation
name: Check

on:
  push:
    branches:
      - main
  pull_request:

permissions:
  contents: read

jobs:
  format:
    name: Format
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@nightly
        with:
          components: rustfmt
      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
      - name: Run format check
        run: cargo fmt --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
      - name: Run clippy
        run: cargo clippy --all-targets --all-features --workspace -- -D warnings

  targets:
    name: Check Targets
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
      - name: Check all workspace targets
        run: cargo check --all-targets --all-features --workspace

  docs:
    name: Docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@nightly
      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
      - name: Build docs
        run: cargo doc --all-features --workspace

  msrv:
    name: MSRV
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@1.88.0
      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
      - name: Check workspace on MSRV
        run: cargo check --all-features --workspace

  readme:
    name: Readme
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: Install cargo-binstall
        uses: taiki-e/install-action@v2
        with:
          tool: cargo-binstall
      - name: Install cargo-rdme
        run: |
          # normally we use https://github.com/taiki-e/install-action, but cargo-rdme 1.5.0
          # does not publish macOS binaries, so install-action blocks it
          cargo binstall --no-confirm cargo-rdme@1.5.0
      - name: Check READMEs
        run: |
          set -euo pipefail
          set -x
          cargo rdme --check --manifest-path Cargo.toml
          cargo rdme --check --manifest-path tui-bar-graph/Cargo.toml
          cargo rdme --check --manifest-path tui-big-text/Cargo.toml
          cargo rdme --check --manifest-path tui-cards/Cargo.toml
          cargo rdme --check --manifest-path tui-popup/Cargo.toml
          cargo rdme --check --manifest-path tui-qrcode/Cargo.toml
          cargo rdme --check --manifest-path tui-scrollbar/Cargo.toml
          cargo rdme --check --manifest-path tui-scrollview/Cargo.toml