hyprparser 0.1.6

A parser for Hyprland's configuration file.
Documentation
name: Rust
on:
  push:
    branches: ["main"]
    paths:
      - '**/*.rs'
      - 'src/**'
      - 'Cargo.toml'
      - 'Cargo.lock'
  pull_request:
    paths:
      - '**/*.rs'
      - 'src/**'
      - 'Cargo.toml'
      - 'Cargo.lock'
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v4

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

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

  check:
    runs-on: ubuntu-latest
    needs: build

    steps:
      - uses: actions/checkout@v4

      - name: Run cargo clippy
        run: |
          cargo clippy -- -Dwarnings
          cargo clippy --release -- -Dwarnings

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

      - name: Prepare unit tests
        run: echo "source = $(pwd)/tests/test_config_2.conf" > tests/test_config_1.conf

      - name: Run cargo test
        run: |
          cargo test
          cargo test --release