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 ede7ff2fe Configure hex, gradle, pip and npm caches.
ede7ff2fe is described below

commit ede7ff2fe97eb8a9c3017b094ec5fe4337f7ea09
Author: Nick Vatamaniuc <[email protected]>
AuthorDate: Thu Oct 5 13:01:24 2023 -0400

    Configure hex, gradle, pip and npm caches.
    
    We saw repeated failures on some CI nodes, possibly from them being 
throttled
    by hex.pm. To mitigate it, try to setup package caches for hex, gradle, pip 
and
    npm.
    
    So far it works with Docker builder only but requires that cache 
directories in
    /home/jenkins are owned by the `jenkins` user. That has to happen as part of
    the Jenkins node setup. Nodes controlled from couchdb-infra-cm have been
    updated to have those directories and permission however the ARM64 one 
doesn't
    yet, so we're excluding it temporarily.
    
    The s390x node currently seems to have a hard time fetching hex.pm packages
    specifically. All the other workers don't have that issue so it's getting
    excluded as well. Linux One community issue:
    https://github.com/linuxone-community-cloud/tickets/issues/58
---
 build-aux/Jenkinsfile.full | 35 ++++++++++++++++++++---------------
 build-aux/Jenkinsfile.pr   |  2 +-
 2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/build-aux/Jenkinsfile.full b/build-aux/Jenkinsfile.full
index 4ca68ca46..435d2a2e2 100644
--- a/build-aux/Jenkinsfile.full
+++ b/build-aux/Jenkinsfile.full
@@ -65,13 +65,16 @@ meta = [
     image: "apache/couchdbci-debian:buster-erlang-${ERLANG_VERSION}"
   ],
 
-  'bullseye-arm64': [
-    name: 'Debian 11 ARM',
-    spidermonkey_vsn: '78',
-    enable_nouveau: true,
-    image: "apache/couchdbci-debian:bullseye-erlang-${ERLANG_VERSION}",
-    node_label: 'arm64v8'
-  ],
+  // Exclude temporarily until we can fix package cache directory
+  // permissions
+  //
+  // 'bullseye-arm64': [
+  //   name: 'Debian 11 ARM',
+  //   spidermonkey_vsn: '78',
+  //   enable_nouveau: true,
+  //   image: "apache/couchdbci-debian:bullseye-erlang-${ERLANG_VERSION}",
+  //   node_label: 'arm64v8'
+  // ],
 
   'bullseye-ppc64': [
     name: 'Debian 11 POWER',
@@ -81,13 +84,15 @@ meta = [
     node_label: 'ppc64le'
   ],
 
-  'bullseye-s390x': [
-    name: 'Debian 11 s390x',
-    spidermonkey_vsn: '78',
-    enable_nouveau: true,
-    image: "apache/couchdbci-debian:bullseye-erlang-${ERLANG_VERSION}",
-    node_label: 's390x'
-  ],
+  // Exclude until hex.pm downloads are resolved
+  //   https://github.com/linuxone-community-cloud/tickets/issues/58
+  // 'bullseye-s390x': [
+  //   name: 'Debian 11 s390x',
+  //   spidermonkey_vsn: '78',
+  //   enable_nouveau: true,
+  //   image: "apache/couchdbci-debian:bullseye-erlang-${ERLANG_VERSION}",
+  //   node_label: 's390x'
+  // ],
 
   'bullseye': [
     name: 'Debian 11',
@@ -282,7 +287,7 @@ pipeline {
     // We need the jenkins user mapped inside of the image
     // npm config cache below deals with /home/jenkins not mapping correctly
     // inside the image
-    DOCKER_ARGS = '-e npm_config_cache=npm-cache -e HOME=. 
-v=/etc/passwd:/etc/passwd -v /etc/group:/etc/group -v 
/root/.gradle:/root/.gradle'
+    DOCKER_ARGS = '-e npm_config_cache=/home/jenkins/.npm -e HOME=. -e 
MIX_HOME=/home/jenkins/.mix -e HEX_HOME=/home/jenkins/.hex -e 
PIP_CACHE_DIR=/home/jenkins/.cache/pip -v=/etc/passwd:/etc/passwd -v 
/etc/group:/etc/group -v /home/jenkins/.gradle:/home/jenkins/.gradle:rw,z -v 
/home/jenkins/.hex:/home/jenkins/.hex:rw,z -v 
/home/jenkins/.npm:/home/jenkins/.npm:rw,z -v 
/home/jenkins/.cache/pip:/home/jenkins/.cache/pip:rw,z -v 
/home/jenkins/.mix:/home/jenkins/.mix:rw,z'
   }
 
   options {
diff --git a/build-aux/Jenkinsfile.pr b/build-aux/Jenkinsfile.pr
index 8b114803f..75ccdedf9 100644
--- a/build-aux/Jenkinsfile.pr
+++ b/build-aux/Jenkinsfile.pr
@@ -44,7 +44,7 @@ pipeline {
     // We need the jenkins user mapped inside of the image
     // npm config cache below deals with /home/jenkins not mapping correctly
     // inside the image
-    DOCKER_ARGS = '-e npm_config_cache=npm-cache -e HOME=. 
-v=/etc/passwd:/etc/passwd -v /etc/group:/etc/group'
+    DOCKER_ARGS = '-e npm_config_cache=/home/jenkins/.npm -e HOME=. -e 
MIX_HOME=/home/jenkins/.mix -e HEX_HOME=/home/jenkins/.hex -e 
PIP_CACHE_DIR=/home/jenkins/.cache/pip -v=/etc/passwd:/etc/passwd -v 
/etc/group:/etc/group -v /home/jenkins/.gradle:/home/jenkins/.gradle:rw,z -v 
/home/jenkins/.hex:/home/jenkins/.hex:rw,z -v 
/home/jenkins/.npm:/home/jenkins/.npm:rw,z -v 
/home/jenkins/.cache/pip:/home/jenkins/.cache/pip:rw,z -v 
/home/jenkins/.mix:/home/jenkins/.mix:rw,z'
 
     // *** BE SURE TO ALSO CHANGE THE ERLANG VERSIONS FARTHER DOWN ***
     // Search for ERLANG_VERSION

Reply via email to