Files
TheRock/compiler/amd-llvm/.ci/green-dragon/lldb-ubuntu.groovy
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

127 lines
4.5 KiB
Groovy

pipeline {
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '30'))
skipDefaultCheckout()
}
parameters {
string(name: 'BUILD_TYPE', defaultValue: params.BUILD_TYPE ?: 'Release', description: 'Default CMake build type; one of: Release, Debug, ...')
}
agent {
node {
label env.JOB_NAME.contains('aarch64') ? 'linux-aarch64' : 'linux-x86_64'
}
}
stages {
stage('Setup Docker') {
steps {
withCredentials([string(credentialsId: 'aws_account', variable: 'AWS_ACCOUNT_ID')]) {
script {
env.AWS_DEFAULT_REGION = 'us-west-2'
env.DOCKER_SERVER = "${AWS_ACCOUNT_ID}.dkr.ecr.${env.AWS_DEFAULT_REGION}.amazonaws.com"
def tag = env.JOB_NAME.contains('aarch64')
? 'main-ci-ecr-8ce5c7b:swift-ci-ubuntu2404-aarch64'
: 'main-ci-ecr-8ce5c7b:swift-ci-ubuntu2404'
env.DOCKER_IMAGE = "${env.DOCKER_SERVER}/${tag}"
}
sh "aws ecr get-login-password --region ${env.AWS_DEFAULT_REGION} | docker login --username AWS --password-stdin ${env.DOCKER_SERVER} 2>/dev/null"
sh "docker pull ${env.DOCKER_IMAGE}"
}
}
}
stage('Checkout') {
steps {
timeout(30) {
dir('llvm-project') {
checkout scm
}
}
timeout(10) {
dir('llvm-zorg') {
git url: 'https://github.com/llvm/llvm-zorg.git', branch: 'main'
}
}
}
}
stage('Print Machine Info') {
steps {
sh """
docker run --rm \\
${env.DOCKER_IMAGE} \\
bash -c "cmake --version; ninja --version; python3 --version; swig -version"
"""
}
}
stage('Build and Test') {
steps {
timeout(240) {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
writeFile file: 'build.sh', text: '''#!/usr/bin/env bash
set -ex
pip3 install --break-system-packages -r /workspace/llvm-zorg/zorg/jenkins/jobs/requirements.txt
/usr/bin/cmake -G Ninja \
-S /workspace/llvm-project/llvm \
-B /workspace/llvm-build \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DLLDB_ENABLE_CURSES=ON \
-DLLDB_ENABLE_LIBXML2=ON \
-DLLDB_ENABLE_LUA=OFF \
-DLLDB_ENABLE_LZMA=OFF \
-DLLDB_ENABLE_PYTHON=ON \
-DLLDB_ENABLE_SWIG=ON \
-DLLVM_BUILD_TOOLS=TRUE \
-DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE \
-DLLVM_ENABLE_LIBEDIT=FORCE_ON \
-DLLVM_ENABLE_LIBXML2=FORCE_ON \
-DLLVM_BUILD_UTILS=TRUE \
-DLLVM_ENABLE_PROJECTS="clang;lldb;lld" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt" \
-DLLVM_OPTIMIZED_TABLEGEN:BOOL=TRUE \
-DLLVM_TARGETS_TO_BUILD=Native \
-DLLVM_USE_SPLIT_DWARF=TRUE \
"-DLLVM_LIT_ARGS=-v --time-tests --param color_output --xunit-xml-output=/workspace/llvm-build/test/results.xml" \
-DLLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=ON
ninja -C /workspace/llvm-build check-lldb
'''
sh """
mkdir -p llvm-build/test
chmod -R 777 llvm-build
chmod +x build.sh
docker run --rm \\
--security-opt=no-new-privileges \\
--cap-add=SYS_PTRACE \\
--security-opt seccomp=unconfined \\
-e BUILD_TYPE=${params.BUILD_TYPE} \\
-e http_proxy \\
-e https_proxy \\
-e HTTP_PROXY \\
-e HTTPS_PROXY \\
-v "\${WORKSPACE}:/workspace" \\
${env.DOCKER_IMAGE} \\
bash /workspace/build.sh
"""
}
}
}
}
}
post {
always {
junit allowEmptyResults: true, testResults: 'llvm-build/test/results.xml'
}
cleanup {
deleteDir()
}
}
}