Srtanh #3
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: ornl CI | |
on: | |
issue_comment: | |
types: [created] | |
jobs: | |
sulfur-cpu: | |
if: | | |
github.repository_owner == 'QMCPACK' && | |
github.event.issue.pull_request && | |
startsWith(github.event.comment.body, 'Test this please') | |
runs-on: [self-hosted, Linux, X64, ornl-sulfur-1] | |
env: | |
GH_JOBNAME: ${{matrix.jobname}} | |
GH_OS: Linux | |
strategy: | |
fail-fast: false | |
matrix: | |
jobname: [ | |
GCC11-NoMPI-MKL-Real-Mixed, # mixed precision | |
GCC11-NoMPI-MKL-Complex-Mixed, | |
GCC11-NoMPI-MKL-Real, # full precision | |
GCC11-NoMPI-MKL-Complex, | |
] | |
steps: | |
- name: Verify actor | |
# Only trigger for certain "actors" (those commenting the PR, not the PR originator) | |
# this is in-line with the current workflow | |
env: | |
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}} | |
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}} | |
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN) | |
id: check | |
run: | | |
echo "triggered=true" >> $GITHUB_OUTPUT | |
# Request repo info, required since issue_comment doesn't point at PR commit, but develop | |
- name: GitHub API Request | |
if: steps.check.outputs.triggered == 'true' | |
id: request | |
uses: octokit/request-action@v2.1.7 | |
with: | |
route: ${{github.event.issue.pull_request.url}} | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# Create a separate PR status pointing at GitHub Actions tab URL | |
# just like any other third-party service | |
- name: Create PR status | |
if: steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-sulfur CI ${{ matrix.jobname }}" | |
state: "pending" | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
- name: Get PR information | |
if: steps.check.outputs.triggered == 'true' | |
id: pr_data | |
run: | | |
echo "branch=${{ fromJson(steps.request.outputs.data).head.ref }}" >> $GITHUB_OUTPUT | |
echo "repo_name=${{ fromJson(steps.request.outputs.data).head.repo.full_name }}" >> $GITHUB_OUTPUT | |
echo "repo_clone_url=${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}" >> $GITHUB_OUTPUT | |
echo "repo_ssh_url=${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}" >> $GITHUB_OUTPUT | |
- name: Checkout PR branch | |
if: steps.check.outputs.triggered == 'true' | |
uses: actions/checkout@v3 | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}} | |
ref: ${{steps.pr_data.outputs.branch}} | |
- name: Configure | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-1.sh configure | |
- name: Build | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-1.sh build | |
- name: Test | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-1.sh test | |
- name: Report PR status | |
if: always() && steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-sulfur CI ${{matrix.jobname}}" | |
state: ${{job.status}} | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
sulfur-cuda: | |
if: | | |
github.repository_owner == 'QMCPACK' && | |
github.event.issue.pull_request && | |
( startsWith(github.event.comment.body, 'Test this please') || | |
startsWith(github.event.comment.body, 'Start testing in-house') ) | |
runs-on: [self-hosted, Linux, X64, ornl-sulfur-2] | |
env: | |
GH_JOBNAME: ${{matrix.jobname}} | |
GH_OS: Linux | |
strategy: | |
fail-fast: false | |
matrix: | |
jobname: [ | |
V100-Clang16-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload | |
V100-Clang16-MPI-CUDA-AFQMC-Offload-Real, | |
V100-Clang16-MPI-CUDA-AFQMC-Offload-Complex-Mixed, | |
V100-Clang16-MPI-CUDA-AFQMC-Offload-Complex, | |
V100-GCC11-MPI-CUDA-Real-Mixed, | |
V100-GCC11-MPI-CUDA-Real, | |
V100-GCC11-MPI-CUDA-Complex-Mixed, | |
V100-GCC11-MPI-CUDA-Complex, | |
] | |
steps: | |
- name: Verify actor | |
# Only trigger for certain "actors" (those commenting the PR, not the PR originator) | |
# this is in-line with the current workflow | |
env: | |
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}} | |
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}} | |
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN) | |
id: check | |
run: | | |
echo "triggered=true" >> $GITHUB_OUTPUT | |
# Request repo info, required since issue_comment doesn't point at PR commit, but develop | |
- name: GitHub API Request | |
if: steps.check.outputs.triggered == 'true' | |
id: request | |
uses: octokit/request-action@v2.1.7 | |
with: | |
route: ${{github.event.issue.pull_request.url}} | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# Create a separate PR status pointing at GitHub Actions tab URL | |
# just like any other third-party service | |
- name: Create PR status | |
if: steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-sulfur CI ${{ matrix.jobname }}" | |
state: "pending" | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
- name: Get PR information | |
if: steps.check.outputs.triggered == 'true' | |
id: pr_data | |
run: | | |
echo "branch=${{ fromJson(steps.request.outputs.data).head.ref }}" >> $GITHUB_OUTPUT | |
echo "repo_name=${{ fromJson(steps.request.outputs.data).head.repo.full_name }}" >> $GITHUB_OUTPUT | |
echo "repo_clone_url=${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}" >> $GITHUB_OUTPUT | |
echo "repo_ssh_url=${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}" >> $GITHUB_OUTPUT | |
- name: Checkout PR branch | |
if: steps.check.outputs.triggered == 'true' | |
uses: actions/checkout@v3 | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}} | |
ref: ${{steps.pr_data.outputs.branch}} | |
- name: Configure | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-2.sh configure | |
- name: Build | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-2.sh build | |
- name: Test | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-sulfur-2.sh test | |
- name: Report PR status | |
if: always() && steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-sulfur CI ${{matrix.jobname}}" | |
state: ${{job.status}} | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
nitrogen-rocm: | |
if: | | |
github.repository_owner == 'QMCPACK' && | |
github.event.issue.pull_request && | |
( startsWith(github.event.comment.body, 'Test this please') || | |
startsWith(github.event.comment.body, 'Start testing in-house') ) | |
runs-on: [self-hosted, Linux, X64, ornl-nitrogen-1] | |
env: | |
GH_JOBNAME: ${{matrix.jobname}} | |
GH_OS: Linux | |
strategy: | |
fail-fast: false | |
matrix: | |
jobname: | |
[ | |
RadeonVII-ROCm-NoMPI-CUDA2HIP-Real-Mixed, | |
RadeonVII-ROCm-NoMPI-CUDA2HIP-Real, | |
RadeonVII-ROCm-NoMPI-CUDA2HIP-Complex-Mixed, | |
RadeonVII-ROCm-NoMPI-CUDA2HIP-Complex, | |
] | |
steps: | |
- name: Verify actor | |
# Only trigger for certain "actors" (those commenting the PR, not the PR originator) | |
# this is in-line with the current workflow | |
env: | |
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}} | |
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}} | |
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN) | |
id: check | |
run: | | |
echo "triggered=true" >> $GITHUB_OUTPUT | |
# Request repo info, required since issue_comment doesn't point at PR commit, but develop | |
- name: GitHub API Request | |
if: steps.check.outputs.triggered == 'true' | |
id: request | |
uses: octokit/request-action@v2.1.7 | |
with: | |
route: ${{github.event.issue.pull_request.url}} | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# Create a separate PR status pointing at GitHub Actions tab URL | |
# just like any other third-party service | |
- name: Create PR status | |
if: steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-nitrogen CI ${{matrix.jobname}}" | |
state: "pending" | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
- name: Get PR information | |
if: steps.check.outputs.triggered == 'true' | |
id: pr_data | |
run: | | |
echo "branch=${{ fromJson(steps.request.outputs.data).head.ref }}" >> $GITHUB_OUTPUT | |
echo "repo_name=${{ fromJson(steps.request.outputs.data).head.repo.full_name }}" >> $GITHUB_OUTPUT | |
echo "repo_clone_url=${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}" >> $GITHUB_OUTPUT | |
echo "repo_ssh_url=${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}" >> $GITHUB_OUTPUT | |
- name: Checkout PR branch | |
if: steps.check.outputs.triggered == 'true' | |
uses: actions/checkout@v3 | |
with: | |
token: ${{secrets.GITHUB_TOKEN}} | |
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}} | |
ref: ${{steps.pr_data.outputs.branch}} | |
- name: Configure | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-nitrogen-1.sh configure | |
- name: Build | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-nitrogen-1.sh build | |
- name: Test | |
if: steps.check.outputs.triggered == 'true' | |
run: tests/test_automation/github-actions/ci/run_step_ornl-nitrogen-1.sh test | |
- name: Report PR status | |
if: always() && steps.check.outputs.triggered == 'true' | |
uses: Sibz/github-status-action@v1.1.6 | |
with: | |
authToken: ${{secrets.GITHUB_TOKEN}} | |
context: "ornl-nitrogen CI ${{matrix.jobname}}" | |
state: ${{job.status}} | |
sha: ${{fromJson(steps.request.outputs.data).head.sha}} | |
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} |