Add files via upload #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" | |