lnbits-rs 0.9.2

A Rust library for the LNbits API
Documentation
name: CI

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

env:
  CARGO_TERM_COLOR: always

jobs:
  pre-commit-checks:
    name: "Cargo fmt, typos"
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - name: checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@v17
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2
      - name: Cargo fmt
        run: |
          nix develop -i -L .#nightly --command bash -c '
            # Force use of Nix-provided rustfmt
            export RUSTFMT=$(command -v rustfmt)
            cargo fmt --check
          '
      - name: typos
        run: nix develop -i -L --command typos
  
  clippy:
    name: "Clippy"
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - name: checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@v17
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2
      - name: Clippy
        run: nix develop -i -L --command cargo clippy -- -D warnings

  msrv-build:
    name: "MSRV build"
    runs-on: ubuntu-latest
    timeout-minutes: 15
    needs: [pre-commit-checks, clippy]
    steps:
      - name: checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@v17
      - name: Rust Cache
        uses: Swatinem/rust-cache@v2
      - name: Build
        run: nix develop -i -L .#msrv --command cargo build