tauri-hotkey 0.1.2

Cross platform global hotkey API
Documentation
name: Build and run tests

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - dev

jobs:
  build-and-test:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]

    steps:
    - uses: actions/checkout@v2

    - name: Install stable toolchain
      uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
        override: true

    - name: Get current date
      run: echo "CURRENT_DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
      if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'

    - name: Get current date
      if: matrix.os == 'windows-latest'
      run: echo "CURRENT_DATE=$(Get-Date -Format "yyyy-MM-dd")" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

    - name: Cache cargo registry
      uses: actions/cache@v2
      with:
        path: ~/.cargo/registry
        # Add date to the cache to keep it up to date
        key: cargo-registry-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }}
        # Restore from outdated cache for speed
        restore-keys: |
          cargo-registry-${{ hashFiles('**/Cargo.toml') }}
    - name: Cache cargo index
      uses: actions/cache@v2
      with:
        path: ~/.cargo/git
        # Add date to the cache to keep it up to date
        key: cargo-index-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }}
        # Restore from outdated cache for speed
        restore-keys: |
          cargo-index-${{ hashFiles('**/Cargo.toml') }}
    - name: Cache cargo target
      uses: actions/cache@v2
      with:
        path: target
        # Add date to the cache to keep it up to date
        key: cargo-build-target-${{ hashFiles('**/Cargo.toml') }}-${{ env.CURRENT_DATE }}
        # Restore from outdated cache for speed
        restore-keys: |
          cargo-build-target-${{ hashFiles('**/Cargo.toml') }}

    - name: Build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --all --release

    - name: Run tests
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --all --release