name: Overhead benchmark (daily)
on:
  schedule:
    # 5am GMT
    - cron: '0 5 * * *'
  workflow_dispatch:

jobs:
  run-overhead-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - uses: actions/checkout@v3
        with:
          ref: gh-pages
          path: gh-pages

      - name: Copy results from gh-pages branch
        run: |
          rsync -avv gh-pages/benchmark-overhead/results/ benchmark-overhead/results/

      - name: Run tests
        uses: gradle/gradle-build-action@v2
        with:
          arguments: test
          build-root-directory: benchmark-overhead

      - name: Inspect the results dir
        working-directory: benchmark-overhead
        run: ls -lR results

      - name: Copy results back to gh-pages branch
        run: rsync -avv benchmark-overhead/results/ gh-pages/benchmark-overhead/results/ && rm -rf benchmark-overhead/results

      - name: Commit updated results
        uses: EndBug/add-and-commit@v9
        with:
          add: 'benchmark-overhead/results'
          cwd: './gh-pages'
          branch: 'gh-pages'
          message: 'update test result data'
          author_name: opentelemetry-java-bot
          author_email: 97938252+opentelemetry-java-bot@users.noreply.github.com
          committer_name: opentelemetry-java-bot
          committer_email: 97938252+opentelemetry-java-bot@users.noreply.github.com

  open-issue-on-failure:
    needs: run-overhead-tests
    if: failure()
    uses: ./.github/workflows/reusable-create-issue-for-failure.yml
