zlogger 0.0.1

A lightweight, configurable Rust logging library with color support and file rotation
Documentation
# eslint-disable yml/no-empty-mapping-value
name: Rust

on:
  push:
    branches: [ "main" ]
  workflow_dispatch:
    inputs:
      debug_enabled:
        type: boolean
        description: Enable debugging
        required: false
        default: false
env:
  CARGO_TERM_COLOR: always

jobs:
  # Job  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  build:
    name: job ❯ test
    runs-on: ubuntu-latest
    timeout-minutes: 10
    strategy:
      fail-fast: true
      matrix:
        target: [x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl]

    steps:
      # ─────────────────────────────────────────────────────
      - name: Bootstrap ❯❯ actions/checkout@v4
        uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - name: Bootstrap ❯❯ Setup Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable
          targets: ${{ matrix.target }}
          components: 'rustfmt'

      - name: Bootstrap ❯❯ Debug ❯❯ Show version information (Rust, cargo, GCC)
        run: |
          gcc --version || true
          rustup -V
          rustup toolchain list
          rustup default
          cargo -V
          rustc -V

      - name: Bootstrap ❯❯ Preinstall & Prepare Environment
        env:
          TARGET: ${{ matrix.target }}
        run: |
          echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml)" >> "$GITHUB_ENV"
          echo "PROJECT_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> "$GITHUB_ENV"
          if [ "$TARGET" = "x86_64-unknown-linux-musl" ]; then
            # install cross-rs
            cargo install cross
          fi

      - name: Bootstrap ❯❯ Restore Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Rust ❯❯ Test (basic_usage)
        run: |
          echo "✨ Testing zlooger..."
          cargo run --example basic_usage || true
          echo "✨ zlooger tested!"