upt 0.9.0

Universal package management tool for any OS
Documentation
name: CI

on:
  pull_request:
    branches:
    - '*'
  push:
    branches:
    - main

jobs:
  all:
    name: All

    strategy:
      matrix:
        os:
        - ubuntu-latest
        - macos-latest
        - windows-latest

    runs-on: ${{ matrix.os }}

    env:
      RUSTFLAGS: --deny warnings

    steps:
    - uses: actions/checkout@v4

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

    - uses: Swatinem/rust-cache@v2

    - name: Test
      run: cargo test --all

    - name: Clippy
      run: cargo clippy --all --all-targets -- -D warnings

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

    - name: Test upt --help
      run: cargo run -- --help

    - name: Test upt list
      run: cargo run -- list

  msys2:
    name: MSYS2

    runs-on: windows-latest

    env:
      RUSTFLAGS: --deny warnings

    steps:
    - uses: actions/checkout@v4

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

    - uses: Swatinem/rust-cache@v2

    - name: Test
      run: cargo test --all

    - name: Clippy
      run: cargo clippy --all --all-targets -- -D warnings

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

    - uses: msys2/setup-msys2@v2
      with:
        path-type: inherit

    - name: Test upt --help on Windows Bash
      if: runner.os == 'Windows'
      run: cargo run -- --help
      shell: bash

    - name: Test upt --help on MSYS2
      shell: msys2 {0}
      run: cargo run -- --help

    - name: Test upt list
      shell: msys2 {0}
      run: cargo run -- list