sfml 0.25.1

Rust binding for sfml
Documentation
name: Build and test (Windows MSVC)

on:
  push:
    branches: [ master ]
    paths:
      - 'src/**'
      - 'examples/**'
      - '**.rs'
      - '**.toml'
      - '**.lock'
      - '.github/workflows/windows.yml'
  pull_request:
    branches: [ master ]
    paths:
      - 'src/**'
      - 'examples/**'
      - '**.rs'
      - '**.toml'
      - '**.lock'
      - '.github/workflows/windows.yml'
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: windows-latest

    steps:
    - uses: hecrj/setup-rust-action@v2
      with:
        rust-version: 1.86.0
    - uses: actions/checkout@v4
    - name: Build
      run: |
       git submodule update --init
       cp .\SFML\extlibs\bin\x64\openal32.dll .
       cargo build --verbose
    - name: Run tests
      run: |
       cargo test --features ci-headless --verbose &&
       # Release can have different build configuration, so test it
       cargo test --release --features=ci-headless --verbose &&
       # Also test non-default feature combinations
       cargo test --no-default-features --features=ci-headless --verbose &&
       cargo test --no-default-features --features=ci-headless,audio,build-flac-ogg --verbose &&
       cargo test --no-default-features --features=ci-headless,window --verbose &&
       cargo test --no-default-features --features=ci-headless,graphics --verbose &&
       # Test packaging (building from .crate archive, without SFML submodule) (allow dirty because of openal32.dll)
       cargo package --allow-dirty