name: CI

on:
  push:
  pull_request:
  schedule: [cron: "40 1 * * *"]

jobs:
  test:
    name: ${{matrix.name || format('Rust {0}', matrix.rust)}}
    runs-on: ${{matrix.os || 'ubuntu'}}-latest
    strategy:
      fail-fast: false
      matrix:
        include:
          - rust: nightly
          - rust: beta
          - rust: stable
          - rust: 1.43.0
          - name: macOS
            rust: nightly
            os: macos
          - name: Windows (gnu)
            rust: nightly-x86_64-pc-windows-gnu
            os: windows
          - name: Windows (msvc)
            rust: nightly-x86_64-pc-windows-msvc
            os: windows
    steps:
      - name: Enable symlinks (windows)
        if: matrix.os == 'windows'
        run: git config --global core.symlinks true
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{matrix.rust}}
      - name: Determine test suite subset
        # Our Windows and macOS jobs are the longest running, so exclude the
        # relatively slow compiletest from them to speed up end-to-end CI time,
        # except during cron builds when no human is presumably waiting on the
        # build. The extra coverage is not particularly valuable and we can
        # still ensure the test is kept passing on the basis of the scheduled
        # builds.
        if: matrix.os && github.event_name != 'schedule'
        run: echo '::set-env name=RUSTFLAGS::--cfg skip_ui_tests'
      - run: cargo run --manifest-path demo/Cargo.toml
      - run: cargo test --workspace --exclude cxx-test-suite

  buck:
    name: Buck
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@stable
      - uses: actions/setup-java@v1
        with:
          java-version: 11
          java-package: jre
      - name: Install Buck
        run: |
          mkdir bin
          wget -q -O bin/buck https://jitpack.io/com/github/facebook/buck/a5f0342ae3/buck-a5f0342ae3-java11.pex # dev branch from 2020.10.11
          chmod +x bin/buck
          echo bin >> $GITHUB_PATH
      - name: Install lld
        run: sudo apt install lld
      - name: Vendor dependencies
        run: |
          cp third-party/Cargo.lock .
          cargo vendor --versioned-dirs --locked third-party/vendor
      - run: buck build :cxx#check --verbose=0
      - run: buck run demo --verbose=0
      - run: buck test ... --verbose=0

  bazel:
    name: Bazel
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Bazel
        run: |
          wget -q -O install.sh https://github.com/bazelbuild/bazel/releases/download/2.1.1/bazel-2.1.1-installer-linux-x86_64.sh
          chmod +x install.sh
          ./install.sh --user
          echo $HOME/bin >> $GITHUB_PATH
      - run: bazel run demo --verbose_failures --noshow_progress
      - run: bazel test ... --verbose_failures --noshow_progress

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@clippy
      - run: cargo clippy --workspace -- -Dclippy::all
