name: Windows

on:
  pull_request:
    paths-ignore:
      - "*.md"
      - "./site/**/*"
  push:
    branches: [ main ]
    paths-ignore:
      - "*.md"
      - "./site/**/*"

env:
  CARGO_TERM_COLOR: always

permissions:
  contents: read

jobs:
  build-windows:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
        with:
          persist-credentials: false
      - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
        with:
          toolchain: stable
          components: rustfmt, clippy
      - name: Build
        run: cargo build
      - name: Run tests
        run: cargo test --verbose --features github-actions
      - name: Clippy
        run: cargo clippy -- -Dwarnings
