-
Notifications
You must be signed in to change notification settings - Fork 128
[Experimental PR] Benchmark any Frontier Release on the CI #1090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
2a7df55
896ae5a
8ecb5c8
66c348b
549e4de
437451d
c4c4793
e8ea2ba
fe92610
e63b788
1726cdf
f29513f
2f89aa7
eebe250
d15c914
9626e6c
fa29525
9dd5133
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,86 @@ | ||||||||||||||||||||||||
| name: 'Benchmark Frontier Releases' | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| concurrency: | ||||||||||||||||||||||||
| group: bench-frontier | ||||||||||||||||||||||||
| cancel-in-progress: false | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||
| workflow_dispatch: | ||||||||||||||||||||||||
| inputs: | ||||||||||||||||||||||||
| tag: | ||||||||||||||||||||||||
| description: 'tag to Benchmark' | ||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||
| default: 'v5.1.3' | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||
| self: | ||||||||||||||||||||||||
| name: "${{ matrix.name }} (${{ matrix.device }}${{ matrix.interface != 'none' && format('-{0}', matrix.interface) || '' }})" | ||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||
| fail-fast: false | ||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||
| include: | ||||||||||||||||||||||||
| - cluster: frontier | ||||||||||||||||||||||||
| name: Oak Ridge | Frontier (CCE) | ||||||||||||||||||||||||
| group: phoenix | ||||||||||||||||||||||||
| labels: frontier | ||||||||||||||||||||||||
| flag: f | ||||||||||||||||||||||||
| device: gpu | ||||||||||||||||||||||||
| interface: acc | ||||||||||||||||||||||||
| build_script: "bash .github/workflows/frontier/build.sh gpu acc bench" | ||||||||||||||||||||||||
| - cluster: frontier | ||||||||||||||||||||||||
| name: Oak Ridge | Frontier (CCE) | ||||||||||||||||||||||||
| group: phoenix | ||||||||||||||||||||||||
| labels: frontier | ||||||||||||||||||||||||
| flag: f | ||||||||||||||||||||||||
| device: gpu | ||||||||||||||||||||||||
| interface: omp | ||||||||||||||||||||||||
| build_script: "bash .github/workflows/frontier/build.sh gpu omp bench" | ||||||||||||||||||||||||
| runs-on: | ||||||||||||||||||||||||
| group: ${{ matrix.group }} | ||||||||||||||||||||||||
| labels: ${{ matrix.labels }} | ||||||||||||||||||||||||
| timeout-minutes: 480 | ||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||
| ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 | ||||||||||||||||||||||||
| ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | ||||||||||||||||||||||||
| BENCH_TAG: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.tag != '' && github.event.inputs.tag || 'v5.1.3' }} | ||||||||||||||||||||||||
|
Comment on lines
+45
to
+48
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: cat -n .github/workflows/bench-frontier.ymlRepository: MFlowCode/MFC Length of output: 5526 🌐 Web query:
💡 Result:
🏁 Script executed: # Search for any comments or documentation about why Node16 is forced
rg -i "node16|node version|unsecure" .github/workflows/ -B 2 -A 2Repository: MFlowCode/MFC Length of output: 568 🏁 Script executed: # Check git history for context on why this was added
git log --oneline --all -- .github/workflows/bench-frontier.yml | head -20Repository: MFlowCode/MFC Length of output: 129 🏁 Script executed: # Check for any issues, comments, or discussions about Node20 upgrade
rg -i "node20|node version|upgrade.*runner|frontier.*node" --type md --type txt
# Search for any configuration or documentation about runner setup
find . -name "*.md" -o -name "*.txt" | xargs grep -l -i "frontier\|node" 2>/dev/null | head -10Repository: MFlowCode/MFC Length of output: 522 🏁 Script executed: # Look for any recent issues or PRs mentioning this
git log --all --oneline --grep="node\|frontier" -i | head -20Repository: MFlowCode/MFC Length of output: 1099 🏁 Script executed: # Search specifically for when Node16 forcing was added to this workflow
git log -p --all -- .github/workflows/bench-frontier.yml | grep -A 5 -B 5 "ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION" | head -30Repository: MFlowCode/MFC Length of output: 39 🏁 Script executed: # Check if there are any open issues or discussions about Node version
rg "ACTIONS_ALLOW_USE_UNSECURE" -B 5 -A 5Repository: MFlowCode/MFC Length of output: 39 🏁 Script executed: # Look for Frontier runner documentation or setup notes
find . -path "*frontier*" -name "*.sh" -o -path "*frontier*" -name "*.md" | head -20Repository: MFlowCode/MFC Length of output: 253 Upgrade the Frontier runner to support Node20 or newer. Node.js 16 reached end of life on November 12, 2024. GitHub Actions no longer includes Node16 in the runner, making the use of Remove these environment variables and update the self-hosted Frontier runner to support Node20 or later. 🤖 Prompt for AI Agents |
||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||
| - name: Clone - PR | ||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||
| path: pr | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Clone - Master | ||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||
| repository: MFlowCode/MFC | ||||||||||||||||||||||||
| ref: master | ||||||||||||||||||||||||
| path: master | ||||||||||||||||||||||||
|
Comment on lines
+55
to
+60
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Wrong git ref: should checkout the tag, not master branch. This workflow benchmarks a specific release tag, but line 58 checks out the Apply this diff to fix: - name: Clone - Master
uses: actions/checkout@v4
with:
repository: MFlowCode/MFC
- ref: master
+ ref: ${{ env.BENCH_TAG }}
path: master🤖 Prompt for AI Agents |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Checkout PR repo | ||||||||||||||||||||||||
| uses: actions/checkout@v3 | ||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||
| path: pr | ||||||||||||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Setup & Build | ||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||
| (cd master && ${{ matrix.build_script }}) & | ||||||||||||||||||||||||
| wait %1 | ||||||||||||||||||||||||
|
Comment on lines
+67
to
+70
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suggestion: Simplify the
Suggested change
Comment on lines
+69
to
+70
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix incorrect wait syntax for bash. Line 128 uses Apply this diff: (cd master && ${{ matrix.build_script }}) &
- wait %1
+ wait📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Bench (Master) | ||||||||||||||||||||||||
| run: bash master/.github/scripts/run_parallel_benchmarks.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }} | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Print Logs | ||||||||||||||||||||||||
| if: always() | ||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||
| cat master/bench-${{ matrix.device }}.* 2>/dev/null || true | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - name: Archive Logs (Frontier) | ||||||||||||||||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||
| name: ${{ matrix.cluster }}-${{ matrix.device }} | ||||||||||||||||||||||||
| path: | | ||||||||||||||||||||||||
| master/bench-${{ matrix.device }}.* | ||||||||||||||||||||||||
| master/build/benchmarks/* | ||||||||||||||||||||||||
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upgrade runner to support Node20 or remove deprecated Node16 override.
Node.js 16 reached end of life on November 12, 2024 and is no longer supported by GitHub Actions. Forcing Node16 with
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: truebypasses security protections and exposes the workflow to known vulnerabilities.Update the self-hosted Frontier runner to support Node20 or later, then remove these environment variables.
</comment_end>
🤖 Prompt for AI Agents