[llvm] JOCA-349 Create the multibranch job in Jenkins (PR #169388)
Rodrigo Camargo via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 25 10:34:02 PST 2025
https://github.com/galdinocamargo updated https://github.com/llvm/llvm-project/pull/169388
>From ac28ece34deea292f4c88b16abd876a6d88b3bec Mon Sep 17 00:00:00 2001
From: Rodrigo Luiz Galdino Camargo <galdinocamargo at gmail.com>
Date: Mon, 24 Nov 2025 18:36:05 +0000
Subject: [PATCH 1/4] updated
---
Jenkinsfile | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 Jenkinsfile
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000000000..df35e1230be7a
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,56 @@
+pipeline {
+ agent { label 'cpp-ec2-al2-candidate' }
+
+ options {
+ timestamps()
+ disableConcurrentBuilds()
+ }
+
+ environment {
+ BUILD_TYPE = 'Release'
+ LLVM_PROJECTS = 'clang;lld' // adjust if you want more/less
+ BUILD_DIR = 'build'
+ }
+
+ stages {
+ stage('Checkout') {
+ steps {
+ // Uses the same repo/branch that triggered the multibranch job
+ checkout scm
+ }
+ }
+
+ stage('Configure') {
+ steps {
+ sh '''
+ set -eux
+
+ mkdir -p "${BUILD_DIR}"
+
+ cmake -S llvm -B "${BUILD_DIR}" -G Ninja \
+ -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
+ -DLLVM_ENABLE_PROJECTS="${LLVM_PROJECTS}"
+ '''
+ }
+ }
+
+ stage('Build') {
+ steps {
+ sh '''
+ set -eux
+ cmake --build "${BUILD_DIR}" -j"$(nproc)"
+ '''
+ }
+ }
+
+ // Optional, wire later once build works and you decide what to run
+ // stage('Smoke tests') {
+ // steps {
+ // sh '''
+ // set -eux
+ // ctest --test-dir "${BUILD_DIR}" -R clang -j"$(nproc)" || true
+ // '''
+ // }
+ // }
+ }
+}
>From 1577954fdee28e41756f4dedd1bde4152984cae9 Mon Sep 17 00:00:00 2001
From: Rodrigo Luiz Galdino Camargo <galdinocamargo at gmail.com>
Date: Mon, 24 Nov 2025 20:25:41 +0000
Subject: [PATCH 2/4] make to make3
---
Jenkinsfile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index df35e1230be7a..7b781faf75b3e 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,7 +27,7 @@ pipeline {
mkdir -p "${BUILD_DIR}"
- cmake -S llvm -B "${BUILD_DIR}" -G Ninja \
+ cmake3 -S llvm -B "${BUILD_DIR}" -G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DLLVM_ENABLE_PROJECTS="${LLVM_PROJECTS}"
'''
@@ -38,7 +38,7 @@ pipeline {
steps {
sh '''
set -eux
- cmake --build "${BUILD_DIR}" -j"$(nproc)"
+ cmake3 --build "${BUILD_DIR}" -j"$(nproc)"
'''
}
}
>From 698244ed3c267f38d08cffd500ea46a43568b277 Mon Sep 17 00:00:00 2001
From: Rodrigo Luiz Galdino Camargo <galdinocamargo at gmail.com>
Date: Mon, 24 Nov 2025 21:51:07 +0000
Subject: [PATCH 3/4] updated
---
Jenkinsfile | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 7b781faf75b3e..f0db469e0af9a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,14 +8,14 @@ pipeline {
environment {
BUILD_TYPE = 'Release'
- LLVM_PROJECTS = 'clang;lld' // adjust if you want more/less
+ LLVM_PROJECTS = 'clang;lld' // adjust if you want more or less
BUILD_DIR = 'build'
}
stages {
stage('Checkout') {
steps {
- // Uses the same repo/branch that triggered the multibranch job
+ // Uses the same repo and branch that triggered the multibranch job
checkout scm
}
}
@@ -29,7 +29,9 @@ pipeline {
cmake3 -S llvm -B "${BUILD_DIR}" -G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
- -DLLVM_ENABLE_PROJECTS="${LLVM_PROJECTS}"
+ -DLLVM_ENABLE_PROJECTS="${LLVM_PROJECTS}" \
+ -DCMAKE_C_COMPILER=/usr/bin/gcc10 \
+ -DCMAKE_CXX_COMPILER=/usr/bin/g++10
'''
}
}
>From 7deeab63845b2a9ec46787b3dfb9ad80dbe67c33 Mon Sep 17 00:00:00 2001
From: Rodrigo Luiz Galdino Camargo <galdinocamargo at gmail.com>
Date: Tue, 25 Nov 2025 18:33:49 +0000
Subject: [PATCH 4/4] updated
---
Jenkinsfile | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index f0db469e0af9a..baa13aff079c9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,14 +8,18 @@ pipeline {
environment {
BUILD_TYPE = 'Release'
- LLVM_PROJECTS = 'clang;lld' // adjust if you want more or less
+ LLVM_PROJECTS = 'clang;lld' // adjust if you want more/less
BUILD_DIR = 'build'
+
+ // Use GCC 10 toolchain installed on the AMI
+ CC = 'gcc10-gcc'
+ CXX = 'gcc10-g++'
}
stages {
stage('Checkout') {
steps {
- // Uses the same repo and branch that triggered the multibranch job
+ // Uses the same repo/branch that triggered the multibranch job
checkout scm
}
}
@@ -30,8 +34,8 @@ pipeline {
cmake3 -S llvm -B "${BUILD_DIR}" -G Ninja \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DLLVM_ENABLE_PROJECTS="${LLVM_PROJECTS}" \
- -DCMAKE_C_COMPILER=/usr/bin/gcc10 \
- -DCMAKE_CXX_COMPILER=/usr/bin/g++10
+ -DCMAKE_C_COMPILER="${CC}" \
+ -DCMAKE_CXX_COMPILER="${CXX}"
'''
}
}
@@ -45,7 +49,7 @@ pipeline {
}
}
- // Optional, wire later once build works and you decide what to run
+ // Optional tests, keep commented until you decide what to run
// stage('Smoke tests') {
// steps {
// sh '''
More information about the llvm-commits
mailing list