Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
57697a6
Add AArch64 support to the premerge tests
tstellar Aug 25, 2025
8ba375b
Fix typo
tstellar Aug 25, 2025
af39d1a
Fix quotes
tstellar Aug 25, 2025
0330faf
Fix container name
tstellar Aug 25, 2025
0492ee6
Fix format string
tstellar Aug 25, 2025
493970e
Drop cpus
tstellar Aug 25, 2025
7a41979
Debug
tstellar Aug 25, 2025
25c28a1
change containre
tstellar Aug 25, 2025
766987c
Use standard runners
tstellar Aug 25, 2025
5f12fa2
Drop containe
tstellar Aug 25, 2025
31393e3
Debug image
tstellar Aug 25, 2025
c7e1a03
Debug image
tstellar Aug 25, 2025
f7ae102
Debug image
tstellar Aug 25, 2025
f6a5df8
Debug containre
tstellar Aug 25, 2025
452a347
Debug
tstellar Aug 25, 2025
79e6def
Debug
tstellar Aug 25, 2025
a827aa7
Debug containr
tstellar Aug 25, 2025
ef27441
Debug containr
tstellar Aug 25, 2025
0b85fe1
Fix typo
tstellar Aug 25, 2025
6fe2008
Fix typo
tstellar Aug 25, 2025
0a082cb
More debug
tstellar Aug 25, 2025
2e1badd
Fix
tstellar Aug 25, 2025
92a0d64
Switch to depot runners
tstellar Aug 25, 2025
05823e9
Remove debugging
tstellar Aug 25, 2025
0f11e40
Test for CI
tstellar Aug 25, 2025
9fca728
Add in sccache
tstellar Aug 25, 2025
8ff572d
Disable sccache setup
tstellar Aug 25, 2025
7eab71c
Fix typo
tstellar Aug 25, 2025
fce2dc7
fix typo
tstellar Aug 25, 2025
4724264
Debug
tstellar Aug 25, 2025
5a68096
Fix regex
tstellar Aug 25, 2025
12913f6
fix with containers
tstellar Aug 25, 2025
62c28bf
Try to fix bash
tstellar Aug 25, 2025
66b9eea
Fix sccache
tstellar Aug 25, 2025
bf0a79f
Fix sccache
tstellar Aug 25, 2025
3360630
Disable sccache
tstellar Aug 25, 2025
51216e7
Disable sccache
tstellar Aug 25, 2025
8b5162a
Fix lldb tests and use a bigger machine
tstellar Aug 27, 2025
f5ebffd
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Aug 27, 2025
4282579
Add fast-fail
tstellar Aug 27, 2025
079c4b1
Fix typo
tstellar Aug 27, 2025
1c17b6f
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Aug 27, 2025
c972560
Revert "Disable sccache"
tstellar Aug 27, 2025
ac5e6fe
Remove ccache hack
tstellar Aug 27, 2025
0eb5481
Disable failing lldb test and use native sscache
tstellar Aug 28, 2025
86813cb
Fix typo
tstellar Aug 28, 2025
2a385ff
Enable sccache
tstellar Aug 28, 2025
690300a
Fix names
tstellar Aug 28, 2025
3a4b6af
Try again with filtering out tests
tstellar Aug 28, 2025
60d13b4
Fix sccache
tstellar Aug 28, 2025
3b62739
Fix runner arch
tstellar Aug 28, 2025
9c6141b
Fix artifacts
tstellar Aug 28, 2025
a88a1f7
Try to fix sccache
tstellar Aug 28, 2025
a5bbb38
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Aug 28, 2025
d472379
Skip TestVariableAnnotationsDisassembler.py on non-x86 architectures
UltimateForce21 Aug 28, 2025
d2fd1f4
sccache fix and debug
tstellar Aug 29, 2025
8e3c676
Fix sccache
tstellar Aug 29, 2025
3fa985b
Use bigger machine to avoid running out of disk
tstellar Aug 30, 2025
a405230
Fix platform title
tstellar Sep 2, 2025
fa8ad42
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Sep 2, 2025
1325760
Fix test display
tstellar Sep 3, 2025
3312bf2
Fix test header
tstellar Sep 3, 2025
169ee47
Fix python formatting
tstellar Sep 3, 2025
1aed3e4
Remove readme change
tstellar Sep 3, 2025
87994d0
More Fixes
tstellar Sep 3, 2025
a77d804
Merge remote-tracking branch 'origin/main' into HEAD
tstellar Sep 8, 2025
029adf4
Prevent TestqOffsets.py picking up host binaries
DavidSpickett Sep 8, 2025
24e0635
platform select instead
DavidSpickett Sep 8, 2025
e8ce7c4
Re-enable failing tests
tstellar Sep 8, 2025
f149c2b
Merge branch 'main' into aarch64-ci
tstellar Sep 9, 2025
2a99adc
Continue-on-error
tstellar Oct 3, 2025
cad0933
Merge remote-tracking branch 'origin/main' into aarch64-ci
tstellar Oct 3, 2025
fa2cdff
Merge remote-tracking branch 'origin/main' into aarch64-ci
tstellar Oct 3, 2025
edfef13
Remove cache files
tstellar Oct 3, 2025
4201876
Cache fix
tstellar Oct 3, 2025
bb08587
Merge branch 'main' into aarch64-ci
tstellar Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .ci/generate_test_report_github.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@

import generate_test_report_lib

PLATFORM_TITLES = {
"Windows": ":window: Windows x64 Test Results",
"Linux": ":penguin: Linux x64 Test Results",
}

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("return_code", help="The build's return code.", type=int)
Expand All @@ -21,8 +16,15 @@
)
args = parser.parse_args()

logo = ":window:" if platform.system() == "Windows" else ":penguin:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: It might be slightly cleaner to refactor this into a compute_platform_title function.

# On Linux the machine value is x86_64 on Windows it is AMD64.
if platform.machine() == "x86_64" or platform.machine() == "AMD64":
arch = "x64"
else:
arch = platform.machine()
platform_title = f"{logo} {platform.system()} {arch} Test Results"
report = generate_test_report_lib.generate_report_from_files(
PLATFORM_TITLES[platform.system()], args.return_code, args.build_test_logs
platform_title, args.return_code, args.build_test_logs
)

print(report)
3 changes: 2 additions & 1 deletion .ci/utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ function start-group {
export PIP_BREAK_SYSTEM_PACKAGES=1
pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt

if [[ "$GITHUB_ACTIONS" != "" ]]; then
# The ARM64 builders run on AWS and don't have access to the GCS cache.
if [[ "$GITHUB_ACTIONS" != "" ]] && [[ "$RUNNER_ARCH" != "ARM64" ]]; then
python .ci/cache_lit_timing_files.py download
fi
42 changes: 34 additions & 8 deletions .github/workflows/premerge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,40 @@ concurrency:

jobs:
premerge-checks-linux:
name: Build and Test Linux
name: Build and Test Linux ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && 'AArch64') || 'X86_64' }}
if: >-
github.repository_owner == 'llvm' &&
(github.event_name != 'pull_request' || github.event.action != 'closed')
runs-on: llvm-premerge-linux-runners
strategy:
fail-fast: false
matrix:
runs-on:
- depot-ubuntu-24.04-arm-16
- llvm-premerge-linux-runners
runs-on: ${{ matrix.runs-on }}
container:
image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }}
# --privileged is needed to run the lldb tests that disable aslr.
# The SCCACHE environment variables are need to be copied from the host
# to the container to make sure it is configured correctly to use the
# depot cache.
options: >-
--privileged
--env SCCACHE_WEBDAV_ENDPOINT
--env SCCACHE_WEBDAV_TOKEN
defaults:
run:
# The run step defaults to using sh as the shell when running in a
# container, so make bash the default to ensure consistency between
# container and non-container jobs.
shell: bash
steps:
- name: Checkout LLVM
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 2
- name: Build and Test
continue-on-error: ${{ runner.arch == 'ARM64' }}
run: |
git config --global --add safe.directory '*'

Expand All @@ -54,11 +77,14 @@ jobs:
export CC=/opt/llvm/bin/clang
export CXX=/opt/llvm/bin/clang++

# This environment variable is passes into the container through the
# runner pod definition. This differs between our two clusters which
# why we do not hardcode it.
export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET
export SCCACHE_GCS_RW_MODE=READ_WRITE
if [[ "${{ matrix.runs-on }}" = "llvm-premerge-linux-runners" ]]; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make a note that this is conditional due to the different caching setup between GCP and AWS/depot?

# This environment variable is passes into the container through the
# runner pod definition. This differs between our two clusters which
# why we do not hardcode it.
export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET
export SCCACHE_GCS_RW_MODE=READ_WRITE
fi
env

# Set the idle timeout to zero to ensure sccache runs for the
# entire duration of the job. Otherwise it might stop if we run
Expand All @@ -78,7 +104,7 @@ jobs:
if: '!cancelled()'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Premerge Artifacts (Linux)
name: Premerge Artifacts (Linux ${{ runner.arch }})
path: artifacts/
retention-days: 5
include-hidden-files: 'true'
Expand Down
Loading