Skip to content

Commit e184a8b

Browse files
committed
Merge branch 'main' into support-memref-subview-during-xegpu-xevm-type-conversion
2 parents 2664dc1 + 7931e2f commit e184a8b

File tree

1,084 files changed

+39922
-13533
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,084 files changed

+39922
-13533
lines changed

.ci/generate_test_report_lib.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ def generate_report(
184184
if return_code == 0:
185185
report.extend(
186186
[
187-
"The build succeeded and no tests ran. This is expected in some "
188-
"build configurations."
187+
":white_check_mark: The build succeeded and no tests ran. "
188+
"This is expected in some build configurations."
189189
]
190190
)
191191
else:
@@ -272,6 +272,10 @@ def plural(num_tests):
272272
]
273273
)
274274
report.extend(_format_failures(ninja_failures, failure_explanations))
275+
else:
276+
report.extend(
277+
["", ":white_check_mark: The build succeeded and all tests passed."]
278+
)
275279

276280
if failures or return_code != 0:
277281
report.extend(["", UNRELATED_FAILURES_STR])

.ci/generate_test_report_lib_test.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def test_title_only(self):
194194
"""\
195195
# Foo
196196
197-
The build succeeded and no tests ran. This is expected in some build configurations."""
197+
:white_check_mark: The build succeeded and no tests ran. This is expected in some build configurations."""
198198
),
199199
)
200200

@@ -308,7 +308,9 @@ def test_no_failures(self):
308308
"""\
309309
# Foo
310310
311-
* 1 test passed"""
311+
* 1 test passed
312+
313+
:white_check_mark: The build succeeded and all tests passed."""
312314
)
313315
),
314316
)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Test Issue Write
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
pull_request:
8+
paths:
9+
- '.github/workflows/issue-write-test.yaml'
10+
- '.github/workflows/issue-write.yml'
11+
12+
jobs:
13+
test-issue-write:
14+
name: "Test Issue Write"
15+
runs-on: ubuntu-24.04
16+
if: github.repository == 'llvm/llvm-project'
17+
steps:
18+
- name: Write Comment
19+
run: |
20+
echo '[{"body": "This is a comment for testing the issue write workflow"}]' > comments-foo
21+
echo '[{"body": "This is another comment for testing the issue write workflow that was placed in a separate file"}]' > comments-bar
22+
- name: Upload Comment
23+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
24+
with:
25+
name: workflow-args-foo
26+
path: |
27+
comments-foo
28+
- name: Upload Comment
29+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
30+
with:
31+
name: workflow-args-bar
32+
path: |
33+
comments-bar

.github/workflows/issue-write.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- "PR Request Release Note"
99
- "Code lint"
1010
- "CI Checks"
11+
- "Test Issue Write"
1112
types:
1213
- completed
1314

@@ -40,13 +41,18 @@ jobs:
4041
artifact-name: workflow-args
4142

4243
- name: 'Comment on PR'
43-
if: steps.download-artifact.outputs.artifact-id != ''
44+
if: steps.download-artifact.outputs.artifact-ids != ''
4445
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
4546
with:
4647
github-token: ${{ secrets.GITHUB_TOKEN }}
4748
script: |
4849
var fs = require('fs');
49-
const comments = JSON.parse(fs.readFileSync('./comments'));
50+
var comments = []
51+
for (local_file of fs.readdirSync('.')) {
52+
if (local_file.startsWith("comments")) {
53+
comments.push(...JSON.parse(fs.readFileSync(local_file)))
54+
}
55+
}
5056
if (!comments || comments.length == 0) {
5157
return;
5258
}
@@ -155,5 +161,5 @@ jobs:
155161
- name: Dump comments file
156162
if: >-
157163
always() &&
158-
steps.download-artifact.outputs.artifact-id != ''
164+
steps.download-artifact.outputs.artifact-ids != ''
159165
run: cat comments

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ jobs:
223223
source .venv/bin/activate
224224
python -m pip install psutil
225225
xcrun bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
226+
env:
227+
CC: clang
228+
CXX: clang++
226229
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
227230
if: always() # Upload artifacts even if the build or test suite fails
228231
with:
@@ -241,16 +244,16 @@ jobs:
241244
fail-fast: false
242245
matrix:
243246
include:
244-
- { config: clang-cl-dll, mingw: false }
245-
- { config: clang-cl-static, mingw: false }
246-
- { config: clang-cl-no-vcruntime, mingw: false }
247-
- { config: clang-cl-debug, mingw: false }
248-
- { config: clang-cl-static-crt, mingw: false }
249-
- { config: mingw-dll, mingw: true }
250-
- { config: mingw-static, mingw: true }
251-
- { config: mingw-dll-i686, mingw: true }
252-
- { config: mingw-incomplete-sysroot, mingw: true }
253-
- { config: mingw-static, mingw: true, runner: windows-11-arm }
247+
- { config: clang-cl-dll, mingw: false, cc: clang-cl, cxx: clang-cl }
248+
- { config: clang-cl-static, mingw: false, cc: clang-cl, cxx: clang-cl }
249+
- { config: clang-cl-no-vcruntime, mingw: false, cc: clang-cl, cxx: clang-cl }
250+
- { config: clang-cl-debug, mingw: false, cc: clang-cl, cxx: clang-cl }
251+
- { config: clang-cl-static-crt, mingw: false, cc: clang-cl, cxx: clang-cl }
252+
- { config: mingw-dll, mingw: true, cc: cc, cxx: c++ }
253+
- { config: mingw-dll, mingw: true, cc: i686-w64-mingw32-clang, cxx: i686-w64-mingw32-clang++ }
254+
- { config: mingw-static, mingw: true, cc: cc, cxx: c++ }
255+
- { config: mingw-incomplete-sysroot, mingw: true, cc: cc, cxx: c++ }
256+
- { config: mingw-static, mingw: true, cc: cc, cxx: c++, runner: windows-11-arm }
254257
runs-on: ${{ matrix.runner != '' && matrix.runner || 'windows-2022' }}
255258
steps:
256259
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
@@ -286,5 +289,7 @@ jobs:
286289
run: |
287290
echo "c:\Program Files\LLVM\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
288291
- name: Build and test
289-
run: |
290-
bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
292+
run: bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
293+
env:
294+
CC: ${{ matrix.cc }}
295+
CXX: ${{ matrix.cxx }}

.github/workflows/libcxx-check-generated-files.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ jobs:
2222

2323
- name: Check generated files
2424
run: libcxx/utils/ci/run-buildbot check-generated-output
25+
env:
26+
CC: cc
27+
CXX: c++

.github/workflows/release-sources.yml

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ jobs:
6464
name: Package Release Sources
6565
if: github.repository_owner == 'llvm'
6666
runs-on: ubuntu-24.04
67+
outputs:
68+
digest: ${{ steps.digest.outputs.digest }}
69+
artifact-id: ${{ steps.artifact-upload.outputs.artifact-id }}
6770
needs:
6871
- inputs
69-
permissions:
70-
id-token: write
71-
attestations: write
7272
steps:
7373
- name: Checkout LLVM
7474
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
@@ -79,30 +79,47 @@ jobs:
7979
run: |
8080
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
8181
82-
- name: Check Permissions
83-
if: github.event_name != 'pull_request'
84-
env:
85-
GITHUB_TOKEN: ${{ github.token }}
86-
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
87-
run: |
88-
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} --user-token "$USER_TOKEN" check-permissions
8982
- name: Create Tarballs
9083
run: |
9184
./llvm/utils/release/export.sh ${{ needs.inputs.outputs.export-args }}
92-
- name: Attest Build Provenance
93-
if: github.event_name != 'pull_request'
94-
id: provenance
95-
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
96-
with:
97-
subject-path: "*.xz"
98-
- if: github.event_name != 'pull_request'
85+
86+
- name: Generate sha256 digest for sources
87+
id: digest
9988
run: |
100-
mv ${{ steps.provenance.outputs.bundle-path }} .
101-
- name: Create Tarball Artifacts
89+
echo "digest=$(cat *.xz | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
90+
91+
- name: Release Sources Artifact
92+
id: artifact-upload
10293
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
10394
with:
95+
name: ${{ needs.inputs.outputs.ref }}-sources
10496
path: |
10597
*.xz
106-
attestation.jsonl
10798
99+
attest-release-sources:
100+
name: Attest Release Sources
101+
runs-on: ubuntu-24.04
102+
if: github.event_name != 'pull_request'
103+
needs:
104+
- inputs
105+
- release-sources
106+
permissions:
107+
id-token: write
108+
attestations: write
109+
steps:
110+
- name: Checkout Release Scripts
111+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
112+
with:
113+
sparse-checkout: |
114+
.github/workflows/upload-release-artifact
115+
llvm/utils/release/github-upload-release.py
116+
llvm/utils/git/requirements.txt
117+
sparse-checkout-cone-mode: false
108118

119+
- name: Upload Artifacts
120+
uses: ./.github/workflows/upload-release-artifact
121+
with:
122+
artifact-id: ${{ needs.release-sources.outputs.artifact-id }}
123+
attestation-name: ${{ needs.inputs.outputs.ref }}-sources-attestation
124+
digest: ${{ needs.release-sources.outputs.digest }}
125+
upload: false

.github/workflows/test-unprivileged-download-artifact.yml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,31 @@ jobs:
2121
if: github.repository_owner == 'llvm'
2222
runs-on: ubuntu-24.04
2323
steps:
24-
- name: Create Test File
24+
- name: Create Test Files
2525
run: |
26-
echo "test" > comment
27-
- name: Upload Test File
26+
echo "foo" > comment1
27+
echo "bar" > comment2
28+
- name: Upload Test File 1
2829
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
2930
with:
30-
name: workflow-args
31+
name: artifact-name-1
3132
path: |
32-
comment
33+
comment1
34+
- name: Upload Test File 2
35+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
36+
with:
37+
name: artifact-name-2
38+
path: |
39+
comment2
40+
3341

3442
test-download:
3543
name: Test Unprivileged Download Artifact
3644
if: github.repository_owner == 'llvm'
3745
runs-on: ubuntu-24.04
3846
needs: [ upload-test-artifact ]
3947
steps:
40-
- name: Chekcout LLVM
48+
- name: Checkout LLVM
4149
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
4250
with:
4351
sparse-checkout: |
@@ -47,8 +55,10 @@ jobs:
4755
id: download-artifact
4856
with:
4957
run-id: ${{ github.run_id }}
50-
artifact-name: workflow-args
58+
artifact-name: artifact-name-
5159
- name: Assert That Contents are the Same
5260
run: |
53-
cat comment
54-
[[ "$(cat comment)" == "test" ]]
61+
cat comment1
62+
[[ "$(cat comment1)" == "foo" ]]
63+
cat comment2
64+
[[ "$(cat comment2)" == "bar" ]]

.github/workflows/unprivileged-download-artifact/action.yml

Lines changed: 40 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ outputs:
1919
The filename of the downloaded artifact or the empty string if the
2020
artifact was not found.
2121
value: ${{ steps.download-artifact.outputs.filename }}
22-
artifact-id:
22+
artifact-ids:
2323
description: "The id of the artifact being downloaded."
24-
value: ${{ steps.artifact-url.outputs.id }}
24+
value: ${{ steps.artifact-url.outputs.ids }}
2525

2626

2727
runs:
@@ -36,46 +36,67 @@ runs:
3636
response = await github.rest.actions.listArtifactsForRepo({
3737
owner: context.repo.owner,
3838
repo: context.repo.repo,
39-
name: "${{ inputs.artifact-name }}"
4039
})
4140
} else {
4241
response = await github.rest.actions.listWorkflowRunArtifacts({
4342
owner: context.repo.owner,
4443
repo: context.repo.repo,
4544
run_id: "${{ inputs.run-id }}",
46-
name: "${{ inputs.artifact-name }}"
4745
})
4846
}
4947
5048
console.log(response)
5149
50+
artifacts_to_download = []
5251
for (artifact of response.data.artifacts) {
52+
if (artifact.name.startsWith("${{ inputs.artifact-name }}")) {
53+
artifacts_to_download.push(artifact)
54+
}
55+
}
56+
57+
for (artifact of artifacts_to_download) {
5358
console.log(artifact);
5459
}
5560
56-
if (response.data.artifacts.length == 0) {
57-
console.log("Could not find artifact ${{ inputs.artifact-name }} for workflow run ${{ inputs.run-id }}")
61+
if (artifacts_to_download.length == 0) {
62+
console.log("Could not find artifacts starting with name ${{ inputs.artifact-name }} for workflow run ${{ inputs.run-id }}")
5863
return;
5964
}
6065
61-
const url_response = await github.rest.actions.downloadArtifact({
62-
owner: context.repo.owner,
63-
repo: context.repo.repo,
64-
artifact_id: response.data.artifacts[0].id,
65-
archive_format: "zip"
66-
})
66+
artifact_ids = []
67+
artifact_urls = []
68+
artifact_names = []
69+
for (artifact_to_download of artifacts_to_download) {
70+
const url_response = await github.rest.actions.downloadArtifact({
71+
owner: context.repo.owner,
72+
repo: context.repo.repo,
73+
artifact_id: artifact_to_download.id,
74+
archive_format: "zip"
75+
})
76+
77+
artifact_ids.push(artifact_to_download.id)
78+
artifact_urls.push('"' + url_response.url + '"')
79+
artifact_names.push('"' + artifact_to_download.name + '"')
80+
}
6781
68-
core.setOutput("url", url_response.url);
69-
core.setOutput("id", response.data.artifacts[0].id);
82+
core.setOutput("urls", artifact_urls.join(" "));
83+
core.setOutput("ids", artifact_ids.join(" "));
84+
core.setOutput("names", artifact_names.join(" "));
7085
7186
- shell: bash
72-
if: steps.artifact-url.outputs.url != ''
87+
if: steps.artifact-url.outputs.urls != ''
7388
id: download-artifact
7489
run: |
75-
curl -L -o ${{ inputs.artifact-name }}.zip "${{ steps.artifact-url.outputs.url }}"
76-
echo "filename=${{ inputs.artifact-name }}.zip" >> $GITHUB_OUTPUT
90+
artifact_urls=(${{ steps.artifact-url.outputs.urls }})
91+
artifact_names=(${{ steps.artifact-url.outputs.names }})
92+
for i in "${!artifact_urls[@]}"; do
93+
curl -L -o "${artifact_names[$i]}.zip" "${artifact_urls[$i]}"
94+
done
7795
7896
- shell: bash
79-
if: steps.download-artifact.outputs.filename != ''
97+
if: steps.artifact-url.outputs.names != ''
8098
run: |
81-
unzip ${{ steps.download-artifact.outputs.filename }}
99+
artifact_names=(${{ steps.artifact-url.outputs.names }})
100+
for name in "${artifact_names[@]}"; do
101+
unzip "${name}.zip"
102+
done

0 commit comments

Comments
 (0)