-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3840 from QMCPACK/rc_3130
Merge Rc 3130 to main for release
- Loading branch information
Showing
1,232 changed files
with
41,329 additions
and
49,928 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,113 @@ | ||
name: GitHub Actions self-hosted CI | ||
name: ornl CI | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
|
||
jobs: | ||
gpu-cuda: | ||
sulfur-cpu: | ||
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, gpu, cuda] | ||
runs-on: [self-hosted, Linux, X64, ornl-sulfur-1] | ||
|
||
env: | ||
GH_JOBNAME: ${{matrix.jobname}} | ||
GH_OS: Linux | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
jobname: [ | ||
GCC8-NoMPI-MKL-Real-Mixed, # mixed precision | ||
GCC8-NoMPI-MKL-Complex-Mixed, | ||
GCC8-NoMPI-MKL-Real, # full precision | ||
GCC8-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 "::set-output name=triggered::true" | ||
# 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/[email protected] | ||
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 | ||
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 "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}" | ||
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}" | ||
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}" | ||
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}" | ||
- name: Checkout PR branch | ||
if: steps.check.outputs.triggered == 'true' | ||
uses: actions/checkout@v2 | ||
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.sh configure | ||
|
||
- name: Build | ||
if: steps.check.outputs.triggered == 'true' | ||
run: tests/test_automation/github-actions/ci/run_step.sh build | ||
|
||
- name: Test | ||
if: steps.check.outputs.triggered == 'true' | ||
run: tests/test_automation/github-actions/ci/run_step.sh test | ||
|
||
- name: Report PR status | ||
if: always() && steps.check.outputs.triggered == 'true' | ||
uses: Sibz/github-status-action@v1 | ||
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}} | ||
|
@@ -25,12 +120,11 @@ jobs: | |
GCC8-NoMPI-Legacy-CUDA-Complex-Mixed, | ||
GCC8-NoMPI-Legacy-CUDA-Real, # full precision | ||
GCC8-NoMPI-Legacy-CUDA-Complex, | ||
GCC8-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI | ||
GCC8-MPI-CUDA-AFQMC-Complex-Mixed, | ||
GCC8-MPI-CUDA-AFQMC-Real, | ||
GCC8-MPI-CUDA-AFQMC-Complex, | ||
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload requires development llvm14 | ||
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real, | ||
Intel19-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI | ||
Intel19-MPI-CUDA-AFQMC-Complex-Mixed, | ||
Intel19-MPI-CUDA-AFQMC-Real, | ||
] | ||
|
||
steps: | ||
|
@@ -62,7 +156,7 @@ jobs: | |
uses: Sibz/github-status-action@v1 | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}" | ||
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}} | ||
|
@@ -101,19 +195,19 @@ jobs: | |
uses: Sibz/github-status-action@v1 | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}" | ||
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}} | ||
|
||
gpu-rocm: | ||
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, gpu, rocm] | ||
runs-on: [self-hosted, Linux, X64, ornl-nitrogen-1] | ||
|
||
env: | ||
GH_JOBNAME: ${{matrix.jobname}} | ||
|
@@ -158,7 +252,102 @@ jobs: | |
uses: Sibz/github-status-action@v1 | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}" | ||
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 "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}" | ||
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}" | ||
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}" | ||
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}" | ||
- name: Checkout PR branch | ||
if: steps.check.outputs.triggered == 'true' | ||
uses: actions/checkout@v2 | ||
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.sh configure | ||
|
||
- name: Build | ||
if: steps.check.outputs.triggered == 'true' | ||
run: tests/test_automation/github-actions/ci/run_step.sh build | ||
|
||
- name: Test | ||
if: steps.check.outputs.triggered == 'true' | ||
run: tests/test_automation/github-actions/ci/run_step.sh test | ||
|
||
- name: Report PR status | ||
if: always() && steps.check.outputs.triggered == 'true' | ||
uses: Sibz/github-status-action@v1 | ||
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}} | ||
|
||
nitrogen-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-nitrogen-2] | ||
|
||
env: | ||
GH_JOBNAME: ${{matrix.jobname}} | ||
GH_OS: Linux | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
jobname: [ | ||
GCC8-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI | ||
GCC8-MPI-CUDA-AFQMC-Complex-Mixed, | ||
GCC8-MPI-CUDA-AFQMC-Real, | ||
GCC8-MPI-CUDA-AFQMC-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 "::set-output name=triggered::true" | ||
# 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/[email protected] | ||
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 | ||
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}} | ||
|
@@ -197,7 +386,7 @@ jobs: | |
uses: Sibz/github-status-action@v1 | ||
with: | ||
authToken: ${{secrets.GITHUB_TOKEN}} | ||
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}" | ||
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}} |
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
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
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
Oops, something went wrong.