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