hashguard 5.0.1

Command-Line tool for ensuring the integrity of files using hash sums
name: CI

on:
    push:
        branches: [ "main", "feature-**", "patch-**" ]
        paths-ignore:
        - 'LICENSE'
        - 'README.md'
        - 'CONTRIBUTING.md'
        - 'CHANGELOG.md'
    pull_request:
        branches: [ "main", "feature-**", "patch-**" ]
        paths-ignore:
        - 'LICENSE'
        - 'README.md'
        - 'CONTRIBUTING.md'
        - 'CHANGELOG.md'

env:
  CARGO_TERM_COLOR: always

jobs:
  build_and_test:
    name: Build and test
    permissions:
      contents: read
      pull-requests: write
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
    runs-on: ${{ matrix.os }}
    steps:
    - run: git config --global core.autocrlf false

    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Update local toolchain
      run: |
        rustup update
        
    - name: Toolchain info
      run: |
        cargo --version --verbose
        rustc --version
        cargo clippy --version          

    - name: Check and format
      run: |
        cargo fmt
        cargo clippy 

    - name: Run tests
      run: |
        cargo check
        cargo test --all          

    - name: Build
      run: |
        cargo build