name: Test on Push

on:
  # Trigger the workflow on push or pull request,
  # but only for the main branch
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  test_Ubuntu:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Rust Cache
      uses: Swatinem/rust-cache@v2    
    - name: dependencies
      run: |
        sudo apt-get update 
        sudo apt-get install -y libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      with:
        toolchain: stable
        components: clippy
    - name: Test
      run: |        
        cargo test
        cargo test --features flatpak
  test_Windows:
    runs-on: windows-latest    
    steps:
    - uses: actions/checkout@v4
    - name: Install Rust toolchain
      uses: dtolnay/rust-toolchain@stable
      with:
        toolchain: stable
        components: clippy
    - name: Rust Cache
      id: rust_cache
      uses: Swatinem/rust-cache@v2    
    - name: Test
      run: cargo test
 # test_Macos:
 #   runs-on: macos-latest    
 #   steps:
 #   - uses: actions/checkout@v4
 #   - name: Install latest stable
 #     uses: dtolnay/rust-toolchain@stable
 #     with:
 #       toolchain: stable
 #       components: clippy
 #   - name: Rust Cache
 #     id: rust_cache
 #     uses: Swatinem/rust-cache@v2    
 #   - name: Test
 #     run: cargo test
