name: macOS

on:
  schedule:
    # Run once every day at 6:40AM UTC.
    - cron: "40 6 * * *"

  push:
    branches:
      - master

  pull_request:

env:
  CARGO_INCREMENTAL: 0
  RUST_BACKTRACE: short

jobs:
  run-tests:
    if: startsWith(github.head_ref, 'ci-')
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v3

      - name: Set up Rust
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: 1.56.0

      - name: Cache dependencies
        uses: Swatinem/rust-cache@842ef286fff290e445b90b4002cc9807c3669641

      - name: Compile
        run: cargo build --benches --tests

      - name: Run tests
        timeout-minutes: 10
        run: |
          export RUST_BACKTRACE=1
          export TEST_GIT=$(which git)
          export TEST_GIT_EXEC_PATH=$("$TEST_GIT" --exec-path)
          cargo test
