From 9b9c9f191d47260ef1a56d3ab2b2010fed56a3ce Mon Sep 17 00:00:00 2001 From: Everett Pompeii Date: Mon, 4 Nov 2024 22:08:39 -0500 Subject: [PATCH] Update Bencher CLI usage (#2087) This changeset updates the Bencher CLI to the new recommended usage. See: https://bencher.dev/docs/how-to/github-actions/#pull-requests-from-forks --- .github/workflows/upload-pr-benchmarks.yaml | 51 +++++++-------------- 1 file changed, 16 insertions(+), 35 deletions(-) diff --git a/.github/workflows/upload-pr-benchmarks.yaml b/.github/workflows/upload-pr-benchmarks.yaml index a0e37ae1cf..13937c7b8d 100644 --- a/.github/workflows/upload-pr-benchmarks.yaml +++ b/.github/workflows/upload-pr-benchmarks.yaml @@ -15,43 +15,22 @@ jobs: PR_EVENT: event.json steps: - name: Download Benchmark Results - uses: actions/github-script@v7 + uses: dawidd6/action-download-artifact@v6 with: - script: | - async function downloadArtifact(artifactName) { - let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ - owner: context.repo.owner, - repo: context.repo.repo, - run_id: context.payload.workflow_run.id, - }); - let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { - return artifact.name == artifactName - })[0]; - if (!matchArtifact) { - core.setFailed(`Failed to find artifact: ${artifactName}`); - } - let download = await github.rest.actions.downloadArtifact({ - owner: context.repo.owner, - repo: context.repo.repo, - artifact_id: matchArtifact.id, - archive_format: 'zip', - }); - let fs = require('fs'); - fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/${artifactName}.zip`, Buffer.from(download.data)); - } - await downloadArtifact(process.env.BENCHMARK_RESULTS); - await downloadArtifact(process.env.PR_EVENT); - - name: Unzip Benchmark Results - run: | - unzip $BENCHMARK_RESULTS.zip - unzip $PR_EVENT.zip + name: ${{ env.BENCHMARK_RESULTS }} + run_id: ${{ github.event.workflow_run.id }} + - name: Download PR Event + uses: dawidd6/action-download-artifact@v6 + with: + name: ${{ env.PR_EVENT }} + run_id: ${{ github.event.workflow_run.id }} - name: Export PR Event Data uses: actions/github-script@v7 with: script: | let fs = require('fs'); let prEvent = JSON.parse(fs.readFileSync(process.env.PR_EVENT, {encoding: 'utf8'})); - core.exportVariable("PR_HEAD", `${prEvent.number}/merge`); + core.exportVariable("PR_HEAD", prEvent.pull_request.head.ref); core.exportVariable("PR_BASE", prEvent.pull_request.base.ref); core.exportVariable("PR_BASE_SHA", prEvent.pull_request.base.sha); core.exportVariable("PR_NUMBER", prEvent.number); @@ -61,12 +40,14 @@ jobs: bencher run \ --project nickel \ --token '${{ secrets.BENCHER_API_TOKEN }}' \ - --branch '${{ env.PR_HEAD }}' \ - --branch-start-point '${{ env.PR_BASE }}' \ - --branch-start-point-hash '${{ env.PR_BASE_SHA }}' \ + --branch "$PR_HEAD" \ + --start-point "$PR_BASE" \ + --start-point-hash "$PR_BASE_SHA" \ + --start-point-clone-thresholds \ + --start-point-reset \ --testbed ubuntu-latest \ --adapter rust_criterion \ --err \ --github-actions '${{ secrets.GITHUB_TOKEN }}' \ - --ci-number '${{ env.PR_NUMBER }}' \ - --file "$BENCHMARK_RESULTS.txt" + --ci-number "$PR_NUMBER" \ + --file "$BENCHMARK_RESULTS.txt" \ No newline at end of file