name: Continuous Integration (CI)

on:
    push:
    pull_request:
        types:
            - reopened

env:
    CARGO_TERM_COLOR: always

jobs:
    test:
        runs-on: ubuntu-latest
        name: Test the application
        steps:
            - uses: actions/checkout@v3
            - name: Build the application
              run: cargo build --verbose
            - name: Run tests
              run: cargo test --verbose
    lint:
        runs-on: ubuntu-latest
        name: Lint the application
        steps:
            - name: Checkout repository
              uses: actions/checkout@v4
            - name: Install Clippy
              run: rustup component add clippy
            - name: Run linter
              run: cargo clippy --verbose --all-targets --all-features
