diff --git a/.github/workflows/large-monorepo.yml b/.github/workflows/large-monorepo.yml new file mode 100644 index 0000000000000..637b8ae42d6ab --- /dev/null +++ b/.github/workflows/large-monorepo.yml @@ -0,0 +1,50 @@ +name: Large Repo Benchmark + +on: + schedule: + cron: '0 0 * * *' + +jobs: + build: + name: Run Benchmarks + timeout-minutes: 40 + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + + steps: + - name: Check out code + uses: actions/checkout@v2 + with: + fetch-depth: 2 + + - name: Set up Go 1.x + uses: actions/setup-go@v2 + with: + go-version: 1.17.6 + id: go + + - name: Build + run: cd cli && make turbo + + - name: Setup Node.js environment + uses: actions/setup-node@v2 + + - name: Install dependencies + run: cd benchmark && yarn + + - name: Run benchmarks + run: cd benchmark && yarn benchmark + + - name: Store Benchmark Result + uses: benchmark-action/github-action-benchmark@v1 + with: + name: "${{ runner.os }} Benchmark" + # What benchmark tool the output is formatted as + tool: "customSmallerIsBetter" + output-file-path: ./benchmark/benchmarks.json + benchmark-data-dir-path: benchmarks/large-repo/${{ runner.os }} + auto-push: true + # GitHub API token to make a commit + github-token: ${{ secrets.GITHUB_TOKEN }}