name: Benchmark
on:
  pull_request:
  push:
    branches:
      - master

jobs:
  benchmark:
    name: Run Rust benchmark
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: rustup toolchain update nightly && rustup default nightly
      - name: Run benchmark
        run: cargo +nightly bench --no-default-features --features runtime-async-std,cached,glob,ip,watcher,logging,incremental,explain | tee output.txt
      - name: Store benchmark result
        uses: rhysd/github-action-benchmark@v1
        with:
          name: Rust Benchmark
          tool: 'cargo'
          output-file-path: output.txt
          # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t5/GitHub-Actions/Github-action-not-triggering-gh-pages-upon-push/td-p/26869/highlight/false
          github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
          auto-push: true
          # Show alert with commit comment on detecting possible performance regression
          alert-threshold: '150%'
          comment-on-alert: true
          comment-always: true
          fail-on-alert: true
          alert-comment-cc-users: '@GopherJ'
