This is an automated email from the ASF dual-hosted git repository.

vatamane pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/main by this push:
     new 4244bf2be Sequestrate docker ARM builds and fail early
4244bf2be is described below

commit 4244bf2be1c44140d94f40ab9789f127e321dbe9
Author: Nick Vatamaniuc <[email protected]>
AuthorDate: Thu Oct 2 17:49:07 2025 -0400

    Sequestrate docker ARM builds and fail early
    
    Once in a while when centos 8 builder lands on the ARM64 host
    ubuntu-nc-arm64-12 the build fails. That's because of Spidermonkey. Version 
60
    on CentOS 8 doesn't build on ARM64. To help with that sequestrate it such 
that
    we only explicitly run Debian builds on that host and no other flavor. It's 
sad
    to lose a host like that but it's preferable to having to mash reply 
probably.
    
    To help a bit with available worker switch to fail early mode. This way on
    first failure the build will stop so it will free up workes quickly.
---
 build-aux/Jenkinsfile | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/build-aux/Jenkinsfile b/build-aux/Jenkinsfile
index 168427ad9..dfba236c7 100644
--- a/build-aux/Jenkinsfile
+++ b/build-aux/Jenkinsfile
@@ -141,6 +141,25 @@ meta = [
     image: "${DOCKER_IMAGE_BASE}-${ERLANG_VERSION}"
   ],
 
+  // This runs on a docker ARM64 host. Normally we should be able to run all
+  // ubuntu and centos containers on top any docker host, however spidermonkey
+  // 60 from CentOS cannot build on ARM64 so we're forced to separate it as a
+  // separate build usable for ubuntu/debian only and isolated it from other
+  // builds. At some point when we remove CentOS 8 or switch to QuickJS only,
+  // remove the docker-arm64 label on ubuntu-nc-arm64-12 node in Jenkins and
+  // remove this flavor
+  //
+  'base-arm64': [
+    name: 'Debian ARM64',
+    spidermonkey_vsn: '78',
+    with_nouveau: true,
+    with_clouseau: true,
+    // Test this in in the bookworm-quickjs variant
+    quickjs_test262: false,
+    image: "${DOCKER_IMAGE_BASE}-${ERLANG_VERSION}",
+    node_label: 'docker-arm64'
+  ],
+
   'trixie': [
     name: 'Debian x86_64',
     spidermonkey_vsn: '128',
@@ -628,7 +647,7 @@ pipeline {
       steps {
         script {
           // Including failFast: true in map fails the build immediately if 
any parallel step fails
-          parallelStagesMap = meta.collectEntries( [failFast: false] ) { key, 
values ->
+          parallelStagesMap = meta.collectEntries( [failFast: true] ) { key, 
values ->
             if (values.image) {
               ["${key}": generateContainerStage(key)]
             }

Reply via email to