Skip to content

#49: GitHub CI Benchmarking #14

#49: GitHub CI Benchmarking

#49: GitHub CI Benchmarking #14

Workflow file for this run

name: 'Benchmark'
on:
pull_request:
paths:
- '**.f90'
- '**.fpp'
- '**.py'
- '**.yml'
- 'mfc.sh'
- 'CMakeLists.txt'
- 'requirements.txt'
jobs:
self:
name: Georgia Tech | Phoenix (NVHPC)
if: github.repository == 'MFlowCode/MFC'
strategy:
matrix:
device: ['cpu', 'gpu']
runs-on:
group: phoenix
labels: self-hosted
steps:
- name: Clone - PR
uses: actions/checkout@v3
- name: Bench - PR
run: |
bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}
mv bench-${{ matrix.device }}.out ~/bench-${{ matrix.device }}-pr.out
mv bench-${{ matrix.device }}.yaml ~/bench-${{ matrix.device }}-pr.yaml
- name: Clone - Master
uses: actions/checkout@v3
with:
repository: henryleberre/MFC
ref: master
- name: Bench - Master
run: |
bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}
mv bench-${{ matrix.device }}.out ~/bench-${{ matrix.device }}-master.out
mv bench-${{ matrix.device }}.yaml ~/bench-${{ matrix.device }}-master.yaml
- name: Post Comment
run: |
PR_COMMENT=`python3 .github/workflows/phoenix/compare.py ~/bench-${{ matrix.device }}-master.yaml ~/bench-${{ matrix.device }}-pr.yaml`
echo "Posting comment on PR @ ${{ github.event.issue.comments_url }}:"
echo "$PR_COMMENT"
curl -X POST \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
"${{ github.event.issue.comments_url }}" \
-d "{\"body\":\"$PR_COMMENT\"}"
- name: Archive Logs
uses: actions/upload-artifact@v3
if: always()
with:
name: logs-${{ matrix.device }}
path: |
~/bench-${{ matrix.device }}-*