buklo 0.1.12

Buklo is a simple CLI HTTP client
on:
  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]

name: Pull request checks

jobs:
  check:
    name: Rust (${{ matrix.toolchain }}) on ${{ matrix.os }}
    if: github.event.pull_request.draft == false

    strategy:
      matrix:
        os: [ ubuntu-latest, windows-latest, macos-latest ]
        toolchain: [ stable ]

    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4

      - name: Install dependencies on Ubuntu
        if: startsWith(matrix.os, 'ubuntu')
        run: sudo apt-get update && sudo apt-get install build-essential

      - uses: dtolnay/rust-toolchain@stable
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}

      - uses: Swatinem/rust-cache@a22603398250b864f7190077025cf752307154dc

      - name: Setup Mold
        uses: rui314/setup-mold@v1
        with:
          mold-version: 1.4.1
          make-default: false

      - uses: dtolnay/rust-toolchain@v1
        with:
            toolchain: stable
            components: rustfmt
      - name: Check formatting
        run: |
          cargo test --workspace

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          profile: minimal
          toolchain: stable
      - run: rustup component add rustfmt
      - uses: Swatinem/rust-cache@a22603398250b864f7190077025cf752307154dc

      - name: Setup Mold
        uses: rui314/setup-mold@v1
        with:
          mold-version: 1.4.1
          make-default: false
      
      - uses: dtolnay/rust-toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
      - name: Check formatting
        run: |
          cargo fmt --all -- --check
  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          profile: minimal
          toolchain: stable
      - run: rustup component add clippy
      - name: Install dependencies on Ubuntu
        run: sudo apt-get update && sudo apt-get build-essential
      - uses: Swatinem/rust-cache@a22603398250b864f7190077025cf752307154dc

      - name: Setup Mold
        uses: rui314/setup-mold@v1
        with:
          mold-version: 1.4.1
          make-default: false
  
      - uses: dtolnay/rust-toolchain@v1
        with:
            toolchain: stable
            components: rustfmt
      - name: Check formatting
        run: |
            cargo fmt --all -- --check