name: Post to Pull Request on: repository_dispatch: types: [ pull-report ] permissions: id-token: write # This is required for requesting the JWT contents: read # This is required for actions/checkout jobs: report-pull-request: name: Report Performance Benchmarks on Pull Request runs-on: ubuntu-22.04 if: ${{ github.event.client_payload.issue_number != -1 }} steps: - name: Checkout uses: actions/checkout@v6 - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: role-session-name: GitHub_to_AWS_via_FederatedOIDC role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME_CORP }} aws-region: us-west-2 - name: Get benchmark results id: get-results run: aws s3api get-object --bucket="$BUCKET" --key="$KEY" results.log env: KEY: ${{ github.event.client_payload.key }} BUCKET: ${{ github.event.client_payload.bucket }} - name: Post results to PR uses: actions/github-script@v7 with: github-token: ${{ secrets.REPO_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} script: | const { ACTOR, FORMAT, ISSUE_NUMBER, GITHUB_WORKSPACE } = process.env; const issue_number = parseInt(ISSUE_NUMBER, 10); const { owner, repo } = context.repo; fs = require('fs'); fs.readFile(`${GITHUB_WORKSPACE}/results.log`, 'utf8', function (err,data) { if (err) { return console.log(err); } return github.rest.issues.createComment({ issue_number, owner, repo, body: `@${ACTOR} ${FORMAT}\n ${data}` }); }); env: ACTOR: ${{ github.event.client_payload.actor }} ISSUE_NUMBER: ${{ github.event.client_payload.issue_number }} FORMAT: ${{ github.event.client_payload.noms_bin_format }}