Skip to content

Commit 262d191

Browse files
authored
Merge pull request #3642 from QMCPACK/rc_3120
RC 3.12.0
2 parents 129b7d8 + 477d600 commit 262d191

File tree

1,467 files changed

+154869
-55402
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,467 files changed

+154869
-55402
lines changed

.cmake-format

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# -----------------------------
2+
# Options affecting formatting.
3+
# -----------------------------
4+
with section("format"):
5+
6+
# How wide to allow formatted cmake files
7+
line_width = 120
8+
9+
# ------------------------------------------------
10+
# Options affecting comment reflow and formatting.
11+
# ------------------------------------------------
12+
with section("markup"):
13+
14+
# enable comment markup parsing and reflow
15+
enable_markup = False
16+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
name: GitHub Actions self-hosted CI
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
7+
jobs:
8+
gpu-cuda:
9+
if: |
10+
github.repository_owner == 'QMCPACK' &&
11+
github.event.issue.pull_request &&
12+
( startsWith(github.event.comment.body, 'Test this please') ||
13+
startsWith(github.event.comment.body, 'Start testing in-house') )
14+
15+
runs-on: [self-hosted, Linux, X64, gpu, cuda]
16+
17+
env:
18+
GH_JOBNAME: ${{matrix.jobname}}
19+
GH_OS: Linux
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
jobname: [
24+
GCC8-NoMPI-Legacy-CUDA-Real-Mixed, # mixed precision
25+
GCC8-NoMPI-Legacy-CUDA-Complex-Mixed,
26+
GCC8-NoMPI-Legacy-CUDA-Real, # full precision
27+
GCC8-NoMPI-Legacy-CUDA-Complex,
28+
GCC8-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI
29+
GCC8-MPI-CUDA-AFQMC-Complex-Mixed,
30+
GCC8-MPI-CUDA-AFQMC-Real,
31+
GCC8-MPI-CUDA-AFQMC-Complex,
32+
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload requires development llvm14
33+
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real,
34+
]
35+
36+
steps:
37+
- name: Verify actor
38+
# Only trigger for certain "actors" (those commenting the PR, not the PR originator)
39+
# this is in-line with the current workflow
40+
env:
41+
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}}
42+
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}}
43+
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN)
44+
id: check
45+
run: |
46+
echo "::set-output name=triggered::true"
47+
48+
# Request repo info, required since issue_comment doesn't point at PR commit, but develop
49+
- name: GitHub API Request
50+
if: steps.check.outputs.triggered == 'true'
51+
id: request
52+
uses: octokit/[email protected]
53+
with:
54+
route: ${{github.event.issue.pull_request.url}}
55+
env:
56+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
57+
58+
# Create a separate PR status pointing at GitHub Actions tab URL
59+
# just like any other third-party service
60+
- name: Create PR status
61+
if: steps.check.outputs.triggered == 'true'
62+
uses: Sibz/github-status-action@v1
63+
with:
64+
authToken: ${{secrets.GITHUB_TOKEN}}
65+
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}"
66+
state: "pending"
67+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
68+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
69+
70+
- name: Get PR information
71+
if: steps.check.outputs.triggered == 'true'
72+
id: pr_data
73+
run: |
74+
echo "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}"
75+
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}"
76+
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}"
77+
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}"
78+
79+
- name: Checkout PR branch
80+
if: steps.check.outputs.triggered == 'true'
81+
uses: actions/checkout@v2
82+
with:
83+
token: ${{secrets.GITHUB_TOKEN}}
84+
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}}
85+
ref: ${{steps.pr_data.outputs.branch}}
86+
87+
- name: Configure
88+
if: steps.check.outputs.triggered == 'true'
89+
run: tests/test_automation/github-actions/ci/run_step.sh configure
90+
91+
- name: Build
92+
if: steps.check.outputs.triggered == 'true'
93+
run: tests/test_automation/github-actions/ci/run_step.sh build
94+
95+
- name: Test
96+
if: steps.check.outputs.triggered == 'true'
97+
run: tests/test_automation/github-actions/ci/run_step.sh test
98+
99+
- name: Report PR status
100+
if: always() && steps.check.outputs.triggered == 'true'
101+
uses: Sibz/github-status-action@v1
102+
with:
103+
authToken: ${{secrets.GITHUB_TOKEN}}
104+
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}"
105+
state: ${{job.status}}
106+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
107+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
108+
109+
gpu-rocm:
110+
if: |
111+
github.repository_owner == 'QMCPACK' &&
112+
github.event.issue.pull_request &&
113+
( startsWith(github.event.comment.body, 'Test this please') ||
114+
startsWith(github.event.comment.body, 'Start testing in-house') )
115+
116+
runs-on: [self-hosted, Linux, X64, gpu, rocm]
117+
118+
env:
119+
GH_JOBNAME: ${{matrix.jobname}}
120+
GH_OS: Linux
121+
strategy:
122+
fail-fast: false
123+
matrix:
124+
jobname:
125+
[
126+
ROCm-Clang13-NoMPI-CUDA2HIP-Real-Mixed,
127+
ROCm-Clang13-NoMPI-CUDA2HIP-Real,
128+
ROCm-Clang13-NoMPI-CUDA2HIP-Complex-Mixed,
129+
ROCm-Clang13-NoMPI-CUDA2HIP-Complex,
130+
]
131+
132+
steps:
133+
- name: Verify actor
134+
# Only trigger for certain "actors" (those commenting the PR, not the PR originator)
135+
# this is in-line with the current workflow
136+
env:
137+
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}}
138+
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}}
139+
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN)
140+
id: check
141+
run: |
142+
echo "::set-output name=triggered::true"
143+
144+
# Request repo info, required since issue_comment doesn't point at PR commit, but develop
145+
- name: GitHub API Request
146+
if: steps.check.outputs.triggered == 'true'
147+
id: request
148+
uses: octokit/[email protected]
149+
with:
150+
route: ${{github.event.issue.pull_request.url}}
151+
env:
152+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
153+
154+
# Create a separate PR status pointing at GitHub Actions tab URL
155+
# just like any other third-party service
156+
- name: Create PR status
157+
if: steps.check.outputs.triggered == 'true'
158+
uses: Sibz/github-status-action@v1
159+
with:
160+
authToken: ${{secrets.GITHUB_TOKEN}}
161+
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}"
162+
state: "pending"
163+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
164+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
165+
166+
- name: Get PR information
167+
if: steps.check.outputs.triggered == 'true'
168+
id: pr_data
169+
run: |
170+
echo "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}"
171+
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}"
172+
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}"
173+
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}"
174+
175+
- name: Checkout PR branch
176+
if: steps.check.outputs.triggered == 'true'
177+
uses: actions/checkout@v2
178+
with:
179+
token: ${{secrets.GITHUB_TOKEN}}
180+
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}}
181+
ref: ${{steps.pr_data.outputs.branch}}
182+
183+
- name: Configure
184+
if: steps.check.outputs.triggered == 'true'
185+
run: tests/test_automation/github-actions/ci/run_step.sh configure
186+
187+
- name: Build
188+
if: steps.check.outputs.triggered == 'true'
189+
run: tests/test_automation/github-actions/ci/run_step.sh build
190+
191+
- name: Test
192+
if: steps.check.outputs.triggered == 'true'
193+
run: tests/test_automation/github-actions/ci/run_step.sh test
194+
195+
- name: Report PR status
196+
if: always() && steps.check.outputs.triggered == 'true'
197+
uses: Sibz/github-status-action@v1
198+
with:
199+
authToken: ${{secrets.GITHUB_TOKEN}}
200+
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}"
201+
state: ${{job.status}}
202+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
203+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}

0 commit comments

Comments
 (0)