Skip to content

Add files via upload #82

Add files via upload

Add files via upload #82

Workflow file for this run

name: JMH Benchmark
on:
issue_comment:
types: [created]
jobs:
setup:
if: github.event.issue.pull_request && contains(github.event.comment.body, '/benchmark')
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Get PR branch
uses: xt0rted/pull-request-comment-branch@v1
id: comment-branch
- name: Set branch name
run: |
echo "BRANCH_NAME=${{ steps.comment-branch.outputs.head_ref }}" >> $GITHUB_ENV
echo "REPO_FULL_NAME=${{ github.event.issue.pull_request.user.login }}/${{ github.event.issue.pull_request.repo.name }}" >> $GITHUB_ENV
- id: 'auth'
name: Authenticating
uses: 'google-github-actions/auth@v1'
with:
credentials_json: '${{ secrets.GCP_SA_KEY }}'
- name: Set up Google Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Setup Directory and Copy Bash Scripts
run: |
chmod +x ./.github/workflows/gcloud_ssh.sh
./.github/workflows/gcloud_ssh.sh "export BRANCH_NAME=${BRANCH_NAME} && mkdir $BRANCH_NAME"
gcloud compute scp ./.github/workflows/run_pr_benchmarks.sh root@instance-1:$BRANCH_NAME/ --zone=us-central1-a
gcloud compute scp ./.github/workflows/run_main_benchmarks.sh root@instance-1:$BRANCH_NAME/ --zone=us-central1-a
- name: Run JMH benchmarks for PR Branch
run: |
chmod +x ./.github/workflows/gcloud_ssh.sh
./.github/workflows/gcloud_ssh.sh " export BRANCH_NAME=${BRANCH_NAME} && chmod +x $BRANCH_NAME/run_pr_benchmarks.sh && $BRANCH_NAME/run_pr_benchmarks.sh"
- name: Copy exported PR benchmark file from Google Cloud Compute Engine
run: |
gcloud compute scp root@instance-1:$BRANCH_NAME/pr/NullAway/jmh/build/results/jmh/results.txt ./pr_text.txt --zone us-central1-a
- name: Run JMH benchmarks for Main Branch
run: |
./.github/workflows/gcloud_ssh.sh " export BRANCH_NAME=${BRANCH_NAME} && chmod +x $BRANCH_NAME/run_main_benchmarks.sh && $BRANCH_NAME/run_main_benchmarks.sh "
- name: Copy exported Main Benchmark file from Google Cloud Compute Engine
run: |
gcloud compute scp root@instance-1:$BRANCH_NAME/main/NullAway/jmh/build/results/jmh/results.txt ./main_text.txt --zone us-central1-a
- name: Formatting Benchmark
run: |
(echo 'Main Benchmark:'; echo '```' ; cat main_text.txt; echo '```'; echo 'PR Benchmark:'; echo '```' ; cat pr_text.txt; echo '```') > benchmark.txt
- name: Comment Benchmark
uses: mshick/add-pr-comment@v2
if: always()
with:
message-path: benchmark.txt
message-id: benchmark
- name: Cleanup
run: |
./.github/workflows/gcloud_ssh.sh " rm -r -f $BRANCH_NAME"