55 lines
2.0 KiB
YAML
55 lines
2.0 KiB
YAML
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 }}
|