pkq 0.2.6

Unified package query CLI for DEB/RPM Linux distros (dpkg/apt, rpm/dnf)
Documentation
name: CI

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

env:
  CARGO_TERM_COLOR: always

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7

      - name: Install Rust stable
        uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy

      - name: Format check
        run: cargo fmt --all --check

      - name: Clippy (deny warnings)
        run: cargo clippy --all-targets -- -D warnings

      - name: Tests
        run: cargo test --all-targets

      - name: Build release
        run: cargo build --release

      - name: Smoke test
        run: ./target/release/pkq --version

  msrv:
    name: MSRV (1.89)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7

      - name: Install Rust 1.89
        uses: dtolnay/rust-toolchain@1.89.0

      - name: Check (MSRV)
        run: cargo check --all-targets

  audit:
    name: Security audit
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7

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

      - name: Run cargo audit
        run: cargo audit

  e2e-deb:
    name: E2E matrix (DEB)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7

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

      - name: Build release
        run: cargo build --release

      - name: Run DEB full test matrix
        run: tests/test_deb_all_cases.sh

  e2e-rpm:
    name: E2E matrix (RPM)
    runs-on: ubuntu-latest
    container:
      image: fedora:latest
    steps:
      - uses: actions/checkout@v7

      - name: Install Rust
        run: dnf install -y rust cargo

      - name: Build release
        run: cargo build --release

      - name: Run RPM full test matrix
        run: tests/test_rpm_all_cases.sh