name: Linux

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: -Dwarnings

jobs:
  build:

    # https://github.com/actions/runner-images
    runs-on: ubuntu-24.04

    steps:
    - uses: actions/checkout@v4
    - name: Run rustfmt
      run: cargo fmt --all -- --check
    - name: Install system packages
      run: sudo apt install -y libgtk-4-dev libgtksourceview-5-dev libadwaita-1-dev libsqlite3-dev
    - name: Run clippy
      run: cargo clippy --all-targets
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose