diff --git a/helper.fish b/helper.fish index 72935333f..8beeeb424 100755 --- a/helper.fish +++ b/helper.fish @@ -1,6 +1,16 @@ set -gx KEYNAME 86FEC04D set -gx KEYNAME_OLD 115E1684 +if test -f /usr/bin/podman + echo podman + set -xg DOCKER "podman" + set -xg DOCKER_URL_PREFIX "docker.io/" + set -xg DEFAULT_DOCKER_ARGS "--pids-limit 256704" +else + set -xg DOCKER "docker" +end + + function lockDirectory # Now grab the lock ourselves: set -l pid (echo %self) @@ -2237,6 +2247,7 @@ function findArangoDBVersion echo "ARANGODB_SNIPPETS: $ARANGODB_SNIPPETS" echo "ARANGODB_TGZ_UPSTREAM: $ARANGODB_TGZ_UPSTREAM" echo "DOCKER_TAG: $DOCKER_TAG" + echo "DOCKER: $DOCKER" echo '------------------------------------------------------------------------------' echo end diff --git a/helper.linux.fish b/helper.linux.fish index eb2bb1b89..3431ec5f4 100755 --- a/helper.linux.fish +++ b/helper.linux.fish @@ -21,6 +21,7 @@ else set -xg UBUNTUBUILDIMAGE_TAG_ARCH "x86_64" end + set -gx UBUNTUBUILDIMAGE_312_NAME arangodb/ubuntubuildarangodb-devel set -gx UBUNTUBUILDIMAGE_312_TAG 12 set -gx UBUNTUBUILDIMAGE_312 $UBUNTUBUILDIMAGE_312_NAME:$UBUNTUBUILDIMAGE_312_TAG-$UBUNTUBUILDIMAGE_TAG_ARCH @@ -204,29 +205,29 @@ function checkoutMirror exit 1 end - runInContainer -v $argv[1]:/mirror $ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutMirror.fish + runInContainer -v $argv[1]:/mirror $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutMirror.fish or return $status end function checkoutArangoDB - runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutArangoDB.fish + runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutArangoDB.fish or return $status community end function checkoutEnterprise - runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutEnterprise.fish + runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutEnterprise.fish or return $status enterprise end function checkoutMiniChaos - runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutMiniChaos.fish + runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutMiniChaos.fish or return $status end function checkoutRTA - runInContainer -e RTA_BRANCH="$RTA_BRANCH" $ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutRTA.fish + runInContainer -e RTA_BRANCH="$RTA_BRANCH" $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/checkoutRTA.fish or return $status end @@ -245,7 +246,7 @@ function switchBranches end checkoutIfNeeded - and runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/switchBranches.fish $argv + and runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/switchBranches.fish $argv and convertSItoJSON and findArangoDBVersion and findRequiredCompiler @@ -268,20 +269,20 @@ set -gx LDAPHOST "$LDAPDOCKERCONTAINERNAME$LDAPEXT" set -gx LDAPHOST2 "$LDAP2DOCKERCONTAINERNAME$LDAPEXT" function stopLdapServer - docker stop "$LDAPDOCKERCONTAINERNAME$LDAPEXT" - and docker rm "$LDAPDOCKERCONTAINERNAME$LDAPEXT" - docker stop "$LDAP2DOCKERCONTAINERNAME$LDAPEXT" - and docker rm "$LDAP2DOCKERCONTAINERNAME$LDAPEXT" - docker network rm "$LDAPNETWORK$LDAPEXT" + "$DOCKER" stop "$LDAPDOCKERCONTAINERNAME$LDAPEXT" + and "$DOCKER" rm "$LDAPDOCKERCONTAINERNAME$LDAPEXT" + "$DOCKER" stop "$LDAP2DOCKERCONTAINERNAME$LDAPEXT" + and "$DOCKER" rm "$LDAP2DOCKERCONTAINERNAME$LDAPEXT" + "$DOCKER" network rm "$LDAPNETWORK$LDAPEXT" echo "LDAP servers stopped" true end function launchLdapServer stopLdapServer - and docker network create "$LDAPNETWORK$LDAPEXT" - and docker run -d --name "$LDAPHOST" --net="$LDAPNETWORK$LDAPEXT" $LDAPIMAGE - and docker run -d --name "$LDAPHOST2" --net="$LDAPNETWORK$LDAPEXT" $LDAPIMAGE + and "$DOCKER" network create "$LDAPNETWORK$LDAPEXT" + and "$DOCKER" run -d --name "$LDAPHOST" --net="$LDAPNETWORK$LDAPEXT" $LDAPIMAGE + and "$DOCKER" run -d --name "$LDAPHOST2" --net="$LDAPNETWORK$LDAPEXT" $LDAPIMAGE and echo "LDAP servers launched" end @@ -299,7 +300,7 @@ function buildArangoDB and findDefaultArchitecture and findUseARM and set -xg STATIC_EXECUTABLES Off - and runInContainer (findBuildImage) $SCRIPTSDIR/(findBuildScript) $argv + and runInContainer $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/(findBuildScript) $argv and packBuildFiles set -l s $status if test $s -ne 0 @@ -315,7 +316,7 @@ function makeArangoDB and findDefaultArchitecture and findUseARM end - and runInContainer (findBuildImage) $SCRIPTSDIR/makeArangoDB.fish $argv + and runInContainer $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/makeArangoDB.fish $argv and packBuildFiles set -l s $status if test $s -ne 0 @@ -336,7 +337,7 @@ function buildStaticArangoDB unpackBuildFiles "$BUILD_FILES_ARCHIVE" else echo "UNPACK_BUILD_FILES: $UNPACK_BUILD_FILES" - runInContainer (findStaticBuildImage) $SCRIPTSDIR/(findStaticBuildScript) $argv + runInContainer $DOCKER_URL_PREFIX(findStaticBuildImage) $SCRIPTSDIR/(findStaticBuildScript) $argv and packBuildFiles and if test "$ENTERPRISEEDITION" = "On"; and test "$ARANGODB_VERSION_MAJOR" -eq 3 if test "$ARANGODB_VERSION_MINOR" -ge 12; or begin; test "$ARANGODB_VERSION_MINOR" -eq 11; and test "$ARANGODB_VERSION_PATCH" -ge 10; end @@ -358,7 +359,7 @@ function makeStaticArangoDB and findDefaultArchitecture and findUseARM end - and runInContainer (findStaticBuildImage) $SCRIPTSDIR/makeAlpine.fish $argv + and runInContainer $DOCKER_URL_PREFIX(findStaticBuildImage) $SCRIPTSDIR/makeAlpine.fish $argv and packBuildFiles set -l s $status if test $s -ne 0 @@ -377,7 +378,7 @@ function buildExamples and if test "$NO_RM_BUILD" != 1 buildStaticArangoDB end - and runInContainer (findStaticBuildImage) $SCRIPTSDIR/buildExamples.fish $argv + and runInContainer $DOCKER_URL_PREFIX(findStaticBuildImage) $SCRIPTSDIR/buildExamples.fish $argv set -l s $status if test $s -ne 0 echo Build error! @@ -398,11 +399,11 @@ function oskar and if test "$SAN" = "On" parallelism 2 clearSanStatus - runInContainer --security-opt seccomp=unconfined --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/runTests.fish $argv + runInContainer --security-opt seccomp=unconfined --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runTests.fish $argv set s $status set s (math $s + (getSanStatus)) else - runInContainer --security-opt seccomp=unconfined --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/runTests.fish $argv + runInContainer --security-opt seccomp=unconfined --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runTests.fish $argv set s $status end @@ -419,11 +420,11 @@ function rlogTests and if test "$SAN" = "On" parallelism 2 clearSanStatus - runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/rlog/pr.fish $argv + runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/rlog/pr.fish $argv set s $status set s (math $s + (getSanStatus)) else - runInContainer --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/rlog/pr.fish $argv + runInContainer --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/rlog/pr.fish $argv set s $status end @@ -441,17 +442,17 @@ function oskarFull launchLdapServer and if test "$SAN" = "On" parallelism 2 - runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv + runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv else - runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv + runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv end set s $status else if test "$SAN" = "On" parallelism 2 - runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv + runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv else - runInContainer --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv + runInContainer --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runFullTests.fish $argv end end set s $status @@ -474,17 +475,17 @@ function oskarOneTest launchLdapServer and if test "$SAN" = "On" parallelism 2 - runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv + runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv else - runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv + runInContainer --net="$LDAPNETWORK$LDAPEXT" --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv end set s $status else if test "$SAN" = "On" parallelism 2 - runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE (findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv + runInContainer --cap-add SYS_NICE --cap-add SYS_PTRACE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv else - runInContainer --cap-add SYS_NICE (findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv + runInContainer --cap-add SYS_NICE $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/runOneTest.fish $argv end end set s $status @@ -521,7 +522,7 @@ function jslint set -l s 0 findArangoDBVersion - and runInContainer arangodb/arangodb:$ARANGODB_VERSION_MAJOR.$ARANGODB_VERSION_MINOR /scripts/jslint.sh + and runInContainer "$DOCKER_URL_PREFIX"arangodb/arangodb:$ARANGODB_VERSION_MAJOR.$ARANGODB_VERSION_MINOR /scripts/jslint.sh set s $status popd @@ -535,7 +536,7 @@ end function cppcheckArangoDB checkoutIfNeeded - runInContainer $CPPCHECKIMAGE /scripts/cppcheck.sh $argv + runInContainer $DOCKER_URL_PREFIX$CPPCHECKIMAGE /scripts/cppcheck.sh $argv return $status end @@ -576,7 +577,7 @@ function collectCoverage findRequiredCompiler and findRequiredOpenSSL and echo "collecting llvm coverage" - and runInContainer --env LLVM_PROFILE_FILE=/work/gcov/ (findStaticBuildImage) python3 -u "$WORKSPACE/jenkins/helper/aggregate_coverage.py" "$INNERWORKDIR/" gcov coverage + and runInContainer --env LLVM_PROFILE_FILE=/work/gcov/ $DOCKER_URL_PREFIX(findStaticBuildImage) python3 -u "$WORKSPACE/jenkins/helper/aggregate_coverage.py" "$INNERWORKDIR/" gcov coverage return $status end @@ -591,7 +592,7 @@ function signSourcePackage and runInContainer \ -e ARANGO_SIGN_PASSWD="$ARANGO_SIGN_PASSWD" \ -v $WORKSPACE/signing-keys/.gnupg4:/root/.gnupg \ - (findBuildImage) $SCRIPTSDIR/signFile.fish \ + $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/signFile.fish \ /work/ArangoDB-$SOURCE_TAG.tar.gz \ /work/ArangoDB-$SOURCE_TAG.tar.bz2 \ /work/ArangoDB-$SOURCE_TAG.zip @@ -603,7 +604,7 @@ function createCompleteTar set -l RELEASE_TAG $argv[1] pushd $WORKDIR/work and runInContainer \ - $ALPINEUTILSIMAGE $SCRIPTSDIR/createCompleteTar.fish \ + $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/createCompleteTar.fish \ $RELEASE_TAG and popd or begin ; popd ; return 1 ; end @@ -753,7 +754,7 @@ function buildDebianPackage and echo -n " -- ArangoDB " >> $ch and date -R >> $ch and sed -i "s/@ARCHITECTURE@/$ARCH/g" $TARGET/control - and runInContainer $UBUNTUPACKAGINGIMAGE $SCRIPTSDIR/buildDebianPackage.fish + and runInContainer $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE $SCRIPTSDIR/buildDebianPackage.fish set -l s $status if test $s -ne 0 echo Error when building a debian package @@ -788,7 +789,7 @@ function buildRPMPackage and cp $WORKDIR/rpm/$pd/arangodb3.initd $WORKDIR/work and cp $WORKDIR/rpm/$pd/arangodb3.service $WORKDIR/work and cp $WORKDIR/rpm/$pd/arangodb3.logrotate $WORKDIR/work - and runInContainer $CENTOSPACKAGINGIMAGE $SCRIPTSDIR/buildRPMPackage.fish + and runInContainer $DOCKER_URL_PREFIX$CENTOSPACKAGINGIMAGE $SCRIPTSDIR/buildRPMPackage.fish end ## ############################################################################# @@ -818,7 +819,7 @@ function runMiniChaos -v $WORKDIR/work/ArangoDB/mini-chaos:/mini-chaos \ -v $WORKDIR/work/mini-chaos/$package:/$package \ -e ARANGODB_OVERRIDE_CRASH_HANDLER=0 \ - (findBuildImage) $SCRIPTSDIR/startMiniChaos.fish $package $duration + $DOCKER_URL_PREFIX(findBuildImage) $SCRIPTSDIR/startMiniChaos.fish $package $duration end @@ -1223,11 +1224,11 @@ function buildDockerAny end and buildDockerImage $IMAGE_NAME1 and if test "$IMAGE_NAME1" != "$IMAGE_NAME2" - docker tag $IMAGE_NAME1 $IMAGE_NAME2 + "$DOCKER" tag $IMAGE_NAME1 $IMAGE_NAME2 end and pushDockerImage $IMAGE_NAME2 and if test "$GCR_REG" = "On" - docker tag $IMAGE_NAME1 $GCR_REG_PREFIX$IMAGE_NAME2 + "$DOCKER" tag $IMAGE_NAME1 $GCR_REG_PREFIX$IMAGE_NAME2 and pushDockerImage $GCR_REG_PREFIX$IMAGE_NAME2 end and if test "$ENTERPRISEEDITION" = "On" @@ -1236,10 +1237,10 @@ function buildDockerAny echo $IMAGE_NAME1 > $WORKDIR/work/arangodb3.docker end and if test "$IMAGE_NAME3" != "" - docker tag $IMAGE_NAME1 $IMAGE_NAME3 + "$DOCKER" tag $IMAGE_NAME1 $IMAGE_NAME3 and pushDockerImage $IMAGE_NAME3 and if test "$GCR_REG" = "On" - docker tag $IMAGE_NAME3 $GCR_REG_PREFIX$IMAGE_NAME3 + "$DOCKER" tag $IMAGE_NAME3 $GCR_REG_PREFIX$IMAGE_NAME3 and pushDockerImage $GCR_REG_PREFIX$IMAGE_NAME3 end end @@ -1337,7 +1338,7 @@ function buildDockerImage popd pushd $containerpath - and eval "docker build $BUILD_ARGS --pull --no-cache -t $imagename ." + and eval "$DOCKER build $BUILD_ARGS --pull --no-cache -t $DOCKER_URL_PREFIX$imagename ." or begin ; popd ; return 1 ; end popd end @@ -1350,12 +1351,12 @@ function pushDockerImage set -l imagename $argv[1] - if test (docker images -q $imagename 2> /dev/null) = "" + if test ("$DOCKER" images -q $DOCKER_URL_PREFIX$imagename 2> /dev/null) = "" echo Given image is not present locally return 1 end - docker push $imagename + "$DOCKER" push $DOCKER_URL_PREFIX$imagename end function pushDockerManifest @@ -1366,14 +1367,14 @@ function pushDockerManifest set manifestname $argv[1] - docker manifest inspect $manifestname - and docker manifest rm $manifestname + "$DOCKER" manifest inspect $manifestname + and "$DOCKER" manifest rm $manifestname - docker manifest create \ + "$DOCKER" manifest create \ $manifestname \ --amend $manifestname-amd64 \ --amend $manifestname-arm64v8 - and docker manifest push --purge $manifestname + and "$DOCKER" manifest push --purge $DOCKER_URL_PREFIX$manifestname and return 0 or return 1 end @@ -1409,7 +1410,7 @@ function buildDockerLocal pushd $containerpath set -l tag (date +%Y%m%d%H%M%S) - and eval "docker build -t $imagename --pull . 2>&1" + and eval "$DOCKER build -t $imagename --pull . 2>&1" or begin ; popd ; return 1 ; end popd end @@ -1453,9 +1454,9 @@ function buildUbuntuBuildImage311 and cd $WORKDIR/containers/buildUbuntu311.docker and switch "$ARCH" case "x86_64" - eval "docker build $IMAGE_ARGS --pull -t $UBUNTUBUILDIMAGE_311 -f ./Dockerfile.x86-64 ." + eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_311 -f ./Dockerfile.x86-64 ." case "aarch64" - eval "docker build $IMAGE_ARGS --pull -t $UBUNTUBUILDIMAGE_311 -f ./Dockerfile.arm64 ." + eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_311 -f ./Dockerfile.arm64 ." case '*' echo "fatal, unknown architecture $ARCH to build $UBUNTUBUILDIMAGE_311" exit 1 @@ -1465,21 +1466,21 @@ function buildUbuntuBuildImage311 end function pushUbuntuBuildImage311 - docker tag $UBUNTUBUILDIMAGE_311 $UBUNTUBUILDIMAGE_311_NAME:latest-$ARCH - and docker push $UBUNTUBUILDIMAGE_311 - and docker push $UBUNTUBUILDIMAGE_311_NAME:latest-$ARCH + "$DOCKER" tag $UBUNTUBUILDIMAGE_311 $UBUNTUBUILDIMAGE_311_NAME:latest-$ARCH + and "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_311 + and "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_311_NAME:latest-$ARCH end -function pullUbuntuBuildImage311 ; docker pull $UBUNTUBUILDIMAGE_311 ; end +function pullUbuntuBuildImage311 ; "$DOCKER" pull $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_311 ; end function buildUbuntuBuildImageDevel pushd $WORKDIR and cd $WORKDIR/containers/buildUbuntuDevel.docker and switch "$ARCH" case "x86_64" - eval "docker build $IMAGE_ARGS --pull -t $UBUNTUBUILDIMAGE_312 -f ./Dockerfile.x86-64 ." + eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_312 -f ./Dockerfile.x86-64 ." case "aarch64" - eval "docker build $IMAGE_ARGS --pull -t $UBUNTUBUILDIMAGE_312 -f ./Dockerfile.arm64 ." + eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_312 -f ./Dockerfile.arm64 ." case '*' echo "fatal, unknown architecture $ARCH to build $UBUNTUBUILDIMAGE_312" exit 1 @@ -1489,101 +1490,101 @@ function buildUbuntuBuildImageDevel end function pushUbuntuBuildImageDevel - docker tag $UBUNTUBUILDIMAGE_312 $UBUNTUBUILDIMAGE_312_NAME:latest-$ARCH - and docker push $UBUNTUBUILDIMAGE_312 - and docker push $UBUNTUBUILDIMAGE_312_NAME:latest-$ARCH + "$DOCKER" tag $UBUNTUBUILDIMAGE_312 $UBUNTUBUILDIMAGE_312_NAME:latest-$ARCH + and "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_312 + and "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_312_NAME:latest-$ARCH end -function pullUbuntuBuildImageDevel ; docker pull $UBUNTUBUILDIMAGE_312 ; end +function pullUbuntuBuildImageDevel ; "$DOCKER" pull $DOCKER_URL_PREFIX$UBUNTUBUILDIMAGE_312 ; end function buildUbuntuPackagingImage pushd $WORKDIR and cp -a scripts/buildDebianPackage.fish containers/buildUbuntuPackaging.docker/scripts and cd $WORKDIR/containers/buildUbuntuPackaging.docker - and eval "docker build $IMAGE_ARGS --pull -t $UBUNTUPACKAGINGIMAGE ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE ." and rm -f $WORKDIR/containers/buildUbuntuPackaging.docker/scripts/*.fish or begin ; popd ; return 1 ; end popd end -function pushUbuntuPackagingImage ; docker push $UBUNTUPACKAGINGIMAGE ; end +function pushUbuntuPackagingImage ; "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE ; end -function pullUbuntuPackagingImage ; docker pull $UBUNTUPACKAGINGIMAGE ; end +function pullUbuntuPackagingImage ; "$DOCKER" pull $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE ; end function buildUbuntuPackagingImage2 pushd $WORKDIR and cp -a scripts/buildDebianPackage.fish containers/buildUbuntuPackaging2.docker/scripts and cd $WORKDIR/containers/buildUbuntuPackaging2.docker - and eval "docker build $IMAGE_ARGS --pull -t $UBUNTUPACKAGINGIMAGE2 ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE2 ." and rm -f $WORKDIR/containers/buildUbuntuPackaging2.docker/scripts/*.fish or begin ; popd ; return 1 ; end popd end -function pushUbuntuPackagingImage2 ; docker push $UBUNTUPACKAGINGIMAGE2 ; end +function pushUbuntuPackagingImage2 ; "$DOCKER" push $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE2 ; end -function pullUbuntuPackagingImage2 ; docker pull $UBUNTUPACKAGINGIMAGE2 ; end +function pullUbuntuPackagingImage2 ; "$DOCKER" pull $DOCKER_URL_PREFIX$UBUNTUPACKAGINGIMAGE2 ; end function buildAlpineUtilsImage pushd $WORKDIR and cp -a scripts/{checkoutArangoDB,checkoutEnterprise,clearWorkDir,downloadStarter,downloadSyncer,runTests,runFullTests,switchBranches,recursiveChown}.fish containers/buildUtils.docker/scripts and cd $WORKDIR/containers/buildUtils.docker - and eval "docker build $IMAGE_ARGS --pull -t $ALPINEUTILSIMAGE ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE ." or begin ; popd ; return 1 ; end popd end function pushAlpineUtilsImage - docker tag $ALPINEUTILSIMAGE $ALPINEUTILSIMAGE_NAME:latest - and docker push $ALPINEUTILSIMAGE - and docker push $ALPINEUTILSIMAGE_NAME:latest + "$DOCKER" tag $ALPINEUTILSIMAGE $ALPINEUTILSIMAGE_NAME:latest + and "$DOCKER" push $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE + and "$DOCKER" push $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE_NAME:latest end -function pullAlpineUtilsImage ; docker pull $ALPINEUTILSIMAGE ; end +function pullAlpineUtilsImage ; "$DOCKER" pull $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE ; end function buildCentosPackagingImage pushd $WORKDIR and cp -a scripts/buildRPMPackage.fish containers/buildCentos7Packaging.docker/scripts and cd $WORKDIR/containers/buildCentos7Packaging.docker - and eval "docker build $IMAGE_ARGS --pull -t $CENTOSPACKAGINGIMAGE ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$CENTOSPACKAGINGIMAGE ." and rm -f $WORKDIR/containers/buildCentos7Packaging.docker/scripts/*.fish or begin ; popd ; return 1 ; end popd end function pushCentosPackagingImage - docker tag $CENTOSPACKAGINGIMAGE $CENTOSPACKAGINGIMAGE_NAME:latest - and docker push $CENTOSPACKAGINGIMAGE - and docker push $CENTOSPACKAGINGIMAGE_NAME:latest + "$DOCKER" tag $CENTOSPACKAGINGIMAGE $CENTOSPACKAGINGIMAGE_NAME:latest + and "$DOCKER" push $DOCKER_URL_PREFIX$CENTOSPACKAGINGIMAGE + and "$DOCKER" push $DOCKER_URL_PREFIX$CENTOSPACKAGINGIMAGE_NAME:latest end -function pullCentosPackagingImage ; docker pull $CENTOSPACKAGINGIMAGE ; end +function pullCentosPackagingImage ; "$DOCKER" pull $DOCKER_URL_PREFIX$CENTOSPACKAGINGIMAGE ; end function buildCppcheckImage pushd $WORKDIR/containers/cppcheck.docker - and eval "docker build $IMAGE_ARGS --pull -t $CPPCHECKIMAGE ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$CPPCHECKIMAGE ." or begin ; popd ; return 1 ; end popd end function pushCppcheckImage - docker tag $CPPCHECKIMAGE $CPPCHECKIMAGE_NAME:latest - and docker push $CPPCHECKIMAGE - and docker push $CPPCHECKIMAGE_NAME:latest + "$DOCKER" tag $CPPCHECKIMAGE $CPPCHECKIMAGE_NAME:latest + and "$DOCKER" push $DOCKER_URL_PREFIX$CPPCHECKIMAGE + and "$DOCKER" push $DOCKER_URL_PREFIX$CPPCHECKIMAGE_NAME:latest end -function pullCppcheckImage ; docker pull $CPPCHECKIMAGE ; end +function pullCppcheckImage ; "$DOCKER" pull $DOCKER_URL_PREFIX$CPPCHECKIMAGE ; end function buildLdapImage pushd $WORKDIR/containers/ldap.docker - and eval "docker build $IMAGE_ARGS --pull -t $LDAPIMAGE ." + and eval "$DOCKER build $IMAGE_ARGS --pull -t $DOCKER_URL_PREFIX$LDAPIMAGE ." or begin ; popd ; return 1 ; end popd end function pushLdapImage - docker tag $LDAPIMAGE $LDAPIMAGE_NAME:latest - and docker push $LDAPIMAGE - and docker push $LDAPIMAGE_NAME:latest + "$DOCKER" tag $LDAPIMAGE $LDAPIMAGE_NAME:latest + and "$DOCKER" push $DOCKER_URL_PREFIX$LDAPIMAGE + and "$DOCKER" push $DOCKER_URL_PREFIX$LDAPIMAGE_NAME:latest end -function pullLdapImage ; docker pull $LDAPIMAGE ; end +function pullLdapImage ; "$DOCKER" pull $DOCKER_URL_PREFIX$LDAPIMAGE ; end function remakeImages set -l s 0 @@ -1645,7 +1646,9 @@ function runInContainer # from a regular user. Therefore we have to do some Eiertanz to stop it # if we receive a TERM outside the container. Note that this does not # cover SIGINT, since this will directly abort the whole function. - set c (docker run -d --cap-add=SYS_PTRACE --privileged --security-opt seccomp=unconfined \ + set c ("$DOCKER" run -d --cap-add=SYS_PTRACE --privileged --security-opt seccomp=unconfined \ + --pids-limit 256704 \ + -m 64G \ -v $WORKDIR/work/:$INNERWORKDIR \ -v $SSH_AUTH_SOCK:/ssh-agent \ -v "$WORKDIR/jenkins/helper":"$WORKSPACE/jenkins/helper" \ @@ -1735,24 +1738,26 @@ function runInContainer $argv) function termhandler --on-signal TERM --inherit-variable c if test -n "$c" - docker stop $c >/dev/null - docker rm $c >/dev/null + "$DOCKER" stop $c >/dev/null + "$DOCKER" rm $c >/dev/null end end - docker logs -f $c # print output to stdout - docker stop $c >/dev/null # happens when the previous command gets a SIGTERM - set s (docker inspect $c --format "{{.State.ExitCode}}") - docker rm $c >/dev/null + "$DOCKER" logs -f $c # print output to stdout + "$DOCKER" stop $c >/dev/null # happens when the previous command gets a SIGTERM + set s ("$DOCKER" inspect $c --format "{{.State.ExitCode}}") + "$DOCKER" rm $c >/dev/null functions -e termhandler # Cleanup ownership: - docker run \ - -v $WORKDIR/work:$INNERWORKDIR \ - -e UID=(id -u) \ - -e GID=(id -g) \ - -e INNERWORKDIR=$INNERWORKDIR \ - --rm \ - $ALPINEUTILSIMAGE $SCRIPTSDIR/recursiveChown.fish - + if test "$DOCKER" = "docker" + "$DOCKER" run \ + -v $WORKDIR/work:$INNERWORKDIR \ + -v "$WORKDIR/scripts/":"/scripts" \ + -e UID=(id -u) \ + -e GID=(id -g) \ + -e INNERWORKDIR=$INNERWORKDIR \ + --rm \ + $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/recursiveChown.fish + end if test -n "$agentstarted" ssh-agent -k > /dev/null set -e SSH_AUTH_SOCK @@ -1775,7 +1780,7 @@ function interactiveContainer set -l agentstarted "" end - docker run -it --rm --cap-add=SYS_PTRACE --privileged --security-opt seccomp=unconfined \ + "$DOCKER" run -it --rm --cap-add=SYS_PTRACE --privileged --security-opt seccomp=unconfined \ -v $WORKDIR/work/:$INNERWORKDIR \ -v $SSH_AUTH_SOCK:/ssh-agent \ -v "$WORKDIR/jenkins/helper":"$WORKSPACE/jenkins/helper" \ @@ -1881,7 +1886,7 @@ function buildRclone rm -rf rclone/$argv[1] mkdir rclone/$argv[1] - docker run \ + "$DOCKER" run \ -v (pwd)/scripts:/scripts \ -v (pwd)/rclone/$argv[1]:/data \ -e RCLONE_VERSION=$argv[1] \ @@ -1904,7 +1909,7 @@ function findOpenSSLVersion end function clearWorkDir - runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/clearWorkDir.fish + runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/clearWorkDir.fish end function transformSpec @@ -1996,13 +2001,13 @@ function updateDockerBuildImage checkoutIfNeeded and findRequiredCompiler and findRequiredOpenSSL - and docker pull (findBuildImage) - and docker pull (findStaticBuildImage) + and "$DOCKER" pull $DOCKER_URL_PREFIX(findBuildImage) + and "$DOCKER" pull $DOCKER_URL_PREFIX(findStaticBuildImage) end function downloadStarter mkdir -p $WORKDIR/work/$THIRDPARTY_BIN - and runInContainer $ALPINEUTILSIMAGE $SCRIPTSDIR/downloadStarter.fish $INNERWORKDIR/$THIRDPARTY_BIN $argv + and runInContainer $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/downloadStarter.fish $INNERWORKDIR/$THIRDPARTY_BIN $argv and convertSItoJSON end @@ -2014,7 +2019,7 @@ function downloadSyncer end mkdir -p $WORKDIR/work/$THIRDPARTY_SBIN and rm -f $WORKDIR/work/ArangoDB/build/install/usr/sbin/arangosync $WORKDIR/work/ArangoDB/build/install/usr/bin/arangosync - and runInContainer -e DOWNLOAD_SYNC_USER=$DOWNLOAD_SYNC_USER $ALPINEUTILSIMAGE $SCRIPTSDIR/downloadSyncer.fish $INNERWORKDIR/$THIRDPARTY_SBIN $argv + and runInContainer -e DOWNLOAD_SYNC_USER=$DOWNLOAD_SYNC_USER $DOCKER_URL_PREFIX$ALPINEUTILSIMAGE $SCRIPTSDIR/downloadSyncer.fish $INNERWORKDIR/$THIRDPARTY_SBIN $argv and ln -s ../sbin/arangosync $WORKDIR/work/ArangoDB/build/install/usr/bin/arangosync and convertSItoJSON end @@ -2034,17 +2039,17 @@ function downloadAuxBinariesToBuildBin end function packObjectFiles - runInContainer (eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/packObjectFiles.fish + runInContainer $DOCKER_URL_PREFIX(eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/packObjectFiles.fish end function packBuildFiles if test "$PACK_BUILD_FILES" = "On" - runInContainer (eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/packBuildFiles.fish + runInContainer $DOCKER_URL_PREFIX(eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/packBuildFiles.fish end end function unpackBuildFiles - runInContainer (eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/unpackBuildFiles.fish "$argv[1]" + runInContainer $DOCKER_URL_PREFIX(eval echo \$UBUNTUBUILDIMAGE_$ARANGODB_VERSION_MAJOR$ARANGODB_VERSION_MINOR) $SCRIPTSDIR/unpackBuildFiles.fish "$argv[1]" end ## ############################################################################# diff --git a/jenkins/docker/starter.sh b/jenkins/docker/starter.sh index 7134c2d98..8a882002d 100755 --- a/jenkins/docker/starter.sh +++ b/jenkins/docker/starter.sh @@ -15,9 +15,9 @@ if test -z "$SSH_AUTH_SOCK"; then agentstarted=1 fi -docker run -v $HOME/.ssh:/root/.ssh arangodb/ssh-client ssh -o StrictHostKeyChecking=no -T git@github.com +"$DOCKER" run -v $HOME/.ssh:/root/.ssh arangodb/ssh-client ssh -o StrictHostKeyChecking=no -T git@github.com -docker run \ +"$DOCKER" run \ -e "PDOCKER=`getent group docker | cut -d: -f3`" \ -e "PGID=`id -g`" \ -e "PHOME=$HOME" \ diff --git a/jenkins/forTestDocker.fish b/jenkins/forTestDocker.fish index a55fd732f..818e41624 100755 --- a/jenkins/forTestDocker.fish +++ b/jenkins/forTestDocker.fish @@ -38,9 +38,9 @@ and downloadStarter and setArchSuffix and set -xg HUB_COMMUNITY "arangodb/arangodb-test:$DOCKER_TAG_JENKINS$archSuffix" and buildDockerImage $HUB_COMMUNITY -and docker push $HUB_COMMUNITY -and docker tag $HUB_COMMUNITY $GCR_REG_PREFIX$HUB_COMMUNITY -and docker push $GCR_REG_PREFIX$HUB_COMMUNITY +and "$DOCKER" push $HUB_COMMUNITY +and "$DOCKER" tag $HUB_COMMUNITY $GCR_REG_PREFIX$HUB_COMMUNITY +and "$DOCKER" push $GCR_REG_PREFIX$HUB_COMMUNITY and echo $HUB_COMMUNITY >> $WORKSPACE/imagenames.log and echo $GCR_REG_PREFIX$HUB_COMMUNITY >> $WORKSPACE/imagenames.log @@ -60,9 +60,9 @@ and copyRclone "linux" and setArchSuffix and set -xg HUB_ENTERPRISE "arangodb/enterprise-test:$DOCKER_TAG_JENKINS$archSuffix" and buildDockerImage $HUB_ENTERPRISE -and docker push $HUB_ENTERPRISE -and docker tag $HUB_ENTERPRISE $GCR_REG_PREFIX$HUB_ENTERPRISE -and docker push $GCR_REG_PREFIX$HUB_ENTERPRISE +and "$DOCKER" push $HUB_ENTERPRISE +and "$DOCKER" tag $HUB_ENTERPRISE $GCR_REG_PREFIX$HUB_ENTERPRISE +and "$DOCKER" push $GCR_REG_PREFIX$HUB_ENTERPRISE and echo $HUB_ENTERPRISE >> $WORKSPACE/imagenames.log and echo $GCR_REG_PREFIX$HUB_ENTERPRISE >> $WORKSPACE/imagenames.log diff --git a/jenkins/forTestDockerCommunity.fish b/jenkins/forTestDockerCommunity.fish index 13ff60159..47a2d8879 100755 --- a/jenkins/forTestDockerCommunity.fish +++ b/jenkins/forTestDockerCommunity.fish @@ -38,9 +38,9 @@ and downloadStarter and setArchSuffix and set -xg HUB_COMMUNITY "arangodb/arangodb-test:$DOCKER_TAG_JENKINS$archSuffix" and buildDockerImage $HUB_COMMUNITY -and docker push $HUB_COMMUNITY -and docker tag $HUB_COMMUNITY $GCR_REG_PREFIX$HUB_COMMUNITY -and docker push $GCR_REG_PREFIX$HUB_COMMUNITY +and "$DOCKER" push $HUB_COMMUNITY +and "$DOCKER" tag $HUB_COMMUNITY $GCR_REG_PREFIX$HUB_COMMUNITY +and "$DOCKER" push $GCR_REG_PREFIX$HUB_COMMUNITY and echo $HUB_COMMUNITY >> $WORKSPACE/imagenames.log and echo $GCR_REG_PREFIX$HUB_COMMUNITY >> $WORKSPACE/imagenames.log diff --git a/jenkins/forTestDockerEnterprise.fish b/jenkins/forTestDockerEnterprise.fish index 6c6cebb7e..f9219b306 100755 --- a/jenkins/forTestDockerEnterprise.fish +++ b/jenkins/forTestDockerEnterprise.fish @@ -40,9 +40,9 @@ and copyRclone "linux" and setArchSuffix and set -xg HUB_ENTERPRISE "arangodb/enterprise-test:$DOCKER_TAG_JENKINS$archSuffix" and buildDockerImage $HUB_ENTERPRISE -and docker push $HUB_ENTERPRISE -and docker tag $HUB_ENTERPRISE $GCR_REG_PREFIX$HUB_ENTERPRISE -and docker push $GCR_REG_PREFIX$HUB_ENTERPRISE +and "$DOCKER" push $HUB_ENTERPRISE +and "$DOCKER" tag $HUB_ENTERPRISE $GCR_REG_PREFIX$HUB_ENTERPRISE +and "$DOCKER" push $GCR_REG_PREFIX$HUB_ENTERPRISE and echo $HUB_ENTERPRISE >> $WORKSPACE/imagenames.log and echo $GCR_REG_PREFIX$HUB_ENTERPRISE >> $WORKSPACE/imagenames.log diff --git a/jenkins/helper/runAnyPerformanceResults.fish b/jenkins/helper/runAnyPerformanceResults.fish index 12de6bd65..95ffaed0e 100755 --- a/jenkins/helper/runAnyPerformanceResults.fish +++ b/jenkins/helper/runAnyPerformanceResults.fish @@ -141,7 +141,7 @@ if count $src/results-*.csv > /dev/null end echo "Generating images" - docker run -v (pwd)/work:/work pavlov99/gnuplot gnuplot $gp + "$DOCKER" run -v (pwd)/work:/work pavlov99/gnuplot gnuplot $gp or begin echo "=== $gp ===" cat $gp diff --git a/jenkins/helper/server.inc b/jenkins/helper/server.inc index 440231f49..c5173ba8f 100644 --- a/jenkins/helper/server.inc +++ b/jenkins/helper/server.inc @@ -41,10 +41,10 @@ echo "AUTH: $ARANGO_AUTH" echo "EDITION: $ARANGO_EDITION" echo -docker kill $ARANGO_DOCKER_NAME > /dev/null 2>&1 || true -docker rm -fv $ARANGO_DOCKER_NAME > /dev/null 2>&1 || true -docker pull $DOCKER_IMAGE -docker run --rm --cap-add SYS_NICE $DOCKER_IMAGE arangosh --version | tee ./${ARANGO_DOCKER_NAME}.txt +"$DOCKER" kill $ARANGO_DOCKER_NAME > /dev/null 2>&1 || true +"$DOCKER" rm -fv $ARANGO_DOCKER_NAME > /dev/null 2>&1 || true +"$DOCKER" pull $DOCKER_IMAGE +"$DOCKER" run --rm --cap-add SYS_NICE $DOCKER_IMAGE arangosh --version | tee ./${ARANGO_DOCKER_NAME}.txt export SERVER_FULL_VERSION=$(cat ./${ARANGO_DOCKER_NAME}.txt | grep -oP '^server-version: \K.*$') OUTDIR="`pwd`/output" @@ -52,7 +52,7 @@ rm -rf $OUTDIR mkdir $OUTDIR DOCKER_AUTH="" STARTER_AUTH="" -DOCKER_CMD="docker run --rm --hostname localhost --cap-add SYS_NICE --name $ARANGO_DOCKER_NAME -d $EXPORT_PORTS -v $OUTDIR:/testrun" +DOCKER_CMD="$DOCKER run --rm --hostname localhost --cap-add SYS_NICE --name $ARANGO_DOCKER_NAME -d $EXPORT_PORTS -v $OUTDIR:/testrun" #DOCKER_IMAGE="registry.arangodb.biz:5000/arangodb/linux-${ARANGO_EDITION}-maintainer:$ARANGO_BRANCH" STARTER_CMD="arangodb --starter.address localhost --starter.local --server.storage-engine $ARANGO_STORAGE_ENGINE --starter.data-dir /testrun ${MMFILES_DEPRECATED_OPTION}" STARTER_MODE="" @@ -101,7 +101,7 @@ command="$DOCKER_CMD $DOCKER_AUTH $DOCKER_IMAGE /testrun/starter.sh $STARTER_CMD echo $command $command -trap "$(trap -p | grep EXIT | sed "s/.*-- '\(.*\)'.EXIT/\1;/g")docker rm -fv $ARANGO_DOCKER_NAME ; sudo chown jenkins:jenkins -R output ; tar czf arango_data.tar.gz output" EXIT +trap "$(trap -p | grep EXIT | sed "s/.*-- '\(.*\)'.EXIT/\1;/g") "$DOCKER" rm -fv $ARANGO_DOCKER_NAME ; sudo chown jenkins:jenkins -R output ; tar czf arango_data.tar.gz output" EXIT echo "Waiting until ArangoDB is ready on port ${ARANGO_PORTS[0]}" @@ -131,7 +131,7 @@ done if [ $count -ge 240 ]; then echo "docker logs:" - docker logs $ARANGO_DOCKER_NAME + "$DOCKER" logs $ARANGO_DOCKER_NAME echo echo "curl:" diff --git a/jenkins/runFullNightlyTest.fish b/jenkins/runFullNightlyTest.fish index 9365bfe0f..212cbad0b 100755 --- a/jenkins/runFullNightlyTest.fish +++ b/jenkins/runFullNightlyTest.fish @@ -1,4 +1,5 @@ #!/usr/bin/env fish +set -l fish_trace on source jenkins/helper/jenkins.fish cleanPrepareLockUpdateClear diff --git a/jenkins/runGobenchPerformance.fish b/jenkins/runGobenchPerformance.fish index 6893721d1..751433fb6 100755 --- a/jenkins/runGobenchPerformance.fish +++ b/jenkins/runGobenchPerformance.fish @@ -29,11 +29,11 @@ and popd and sudo rm -rf work/database $simple/results.csv and echo "==== starting performance run ====" -and echo "docker run -e ARANGO_LICENSE_KEY=$ARANGODB_LICENSE_KEY -v (pwd)/work/ArangoDB:/ArangoDB -v (pwd)/work:/data -v $simple:/performance -v $gobenchdir:/gobench" +and echo "$DOCKER run -e ARANGO_LICENSE_KEY=$ARANGODB_LICENSE_KEY -v (pwd)/work/ArangoDB:/ArangoDB -v (pwd)/work:/data -v $simple:/performance -v $gobenchdir:/gobench" and for protocol in VST HTTP echo "Protocol: " $protocol - docker run \ + "$DOCKER" run \ --cap-add SYS_NICE \ -e ARANGO_LICENSE_KEY=$ARANGODB_LICENSE_KEY \ -e ARANGO_BRANCH=$ARANGODB_BRANCH \ diff --git a/jenkins/runGobenchPerformanceResults.fish b/jenkins/runGobenchPerformanceResults.fish index 3f7127e89..ad1061515 100755 --- a/jenkins/runGobenchPerformanceResults.fish +++ b/jenkins/runGobenchPerformanceResults.fish @@ -81,4 +81,4 @@ if test (count work/images/*.png) -gt 0 end echo "Generating images" -docker run -v (pwd)/work:/work pavlov99/gnuplot gnuplot $gp +"$DOCKER" run -v (pwd)/work:/work pavlov99/gnuplot gnuplot $gp diff --git a/jenkins/runRTAtest.fish b/jenkins/runRTAtest.fish index 49599558b..6531113d2 100755 --- a/jenkins/runRTAtest.fish +++ b/jenkins/runRTAtest.fish @@ -5,6 +5,7 @@ cleanPrepareLockUpdateClear2 TT_init set -xg RTA_EDITION "C,Cr2" +and maintainerOn and eval $EDITION and eval $TEST_SUITE and setAllLogsToWorkspace @@ -15,6 +16,11 @@ if test "$ASAN" = "true" sanOn and buildSanFlags "$WORKDIR/work/ArangoDB" end +if test "$COVERAGE" = "true" + echo "Coverage build" + coverageOn + and buildSanFlags "$WORKDIR/work/ArangoDB" +end if test "$BUILD_MODE" = "debug" echo "switching to debug build" debugMode @@ -46,6 +52,10 @@ for f in $matches echo $f | grep -qv testreport ; and echo "mv $f $WORKSPACE" ; and mv $f $WORKSPACE; or echo "skipping $f" end +if test "$COVERAGE" = "true" + collectCoverage +end + unlockDirectory exit $s diff --git a/jenkins/runSimplePerformance.fish b/jenkins/runSimplePerformance.fish index c664a37a3..24214a3e3 100755 --- a/jenkins/runSimplePerformance.fish +++ b/jenkins/runSimplePerformance.fish @@ -26,7 +26,7 @@ and sudo rm -rf work/database $simple/results.csv and cat /proc/sys/kernel/core_pattern and echo "==== starting performance run ====" and if test -z "$DOCKER_IMAGE" - docker run \ + "$DOCKER" run \ --ulimit core=-1 \ -e ARANGO_LICENSE_KEY=$ARANGODB_LICENSE_KEY \ -v (pwd)/work/ArangoDB:/ArangoDB \ @@ -44,7 +44,7 @@ and if test -z "$DOCKER_IMAGE" /data/database \ --javascript.script simple/$ARANGODB_TEST_CONFIG" else - docker run \ + "$DOCKER" run \ --ulimit core=-1 \ -e ARANGO_LICENSE_KEY=$ARANGODB_LICENSE_KEY \ -v (pwd)/work:/data \ @@ -63,7 +63,7 @@ end set -l s $status if count $simple/core* >/dev/null - docker run \ + "$DOCKER" run \ -v $simple:/performance \ --rm \ $DOCKER_IMAGE \ diff --git a/scripts/lib/build.fish b/scripts/lib/build.fish index 2f5e8849a..a03781b11 100755 --- a/scripts/lib/build.fish +++ b/scripts/lib/build.fish @@ -220,10 +220,10 @@ function runMake end if test "$SHOW_DETAILS" = "On" - make $MAKEFLAGS $argv[1] 2>&1 + make $MAKEFLAGS $argv[1] VERBOSE=1 -j 32 2>&1 or exit $status else - echo make output in work/buildArangoDB.log + echo make output in work/buildArangoDB.log set -l ep "" if test "$SHOW_DETAILS" = "Ping" @@ -232,9 +232,9 @@ function runMake end if test "$argv[1]" = "install" - nice make $MAKEFLAGS > $INNERWORKDIR/buildArangoDB.log 2>&1 + nice make $MAKEFLAGS > $INNERWORKDIR/buildArangoDB.log VERBOSE=1 2>&1 end - and nice make $MAKEFLAGS $argv[1] >> $INNERWORKDIR/buildArangoDB.log 2>&1 + and nice make $MAKEFLAGS $argv[1] >> $INNERWORKDIR/buildArangoDB.log VERBOSE=1 2>&1 or begin if test -n "$ep" kill $ep @@ -286,6 +286,7 @@ function TT_cmake end function TT_make + set -l fish_trace on set -g TT_t3 (date -u +%s) and echo $TT_t0,make,(expr $TT_t3 - $TT_t2) >> $INNERWORKDIR/buildTimes.csv end diff --git a/scripts/makeAlpine.fish b/scripts/makeAlpine.fish index 22822f4f6..85da2f9b1 100755 --- a/scripts/makeAlpine.fish +++ b/scripts/makeAlpine.fish @@ -19,4 +19,4 @@ or exit $status mkdir -p install set -x DESTDIR (pwd)/install -nice make -j$PARALLELISM $argv +nice make -j$PARALLELISM $argv VERBOSE=1 V=1 diff --git a/scripts/makeArangoDB.fish b/scripts/makeArangoDB.fish index 33290ad2a..2294e4e89 100755 --- a/scripts/makeArangoDB.fish +++ b/scripts/makeArangoDB.fish @@ -21,4 +21,4 @@ if test "$PLATFORM" = "linux" set GOLD = -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=gold end -nice make -j$PARALLELISM $MAKE_TARGETS $argv +nice make -j$PARALLELISM $MAKE_TARGETS $argv VERBOSE=1 V=1 diff --git a/scripts/switchBranches.fish b/scripts/switchBranches.fish index 46ca2e99e..839dc35ff 100755 --- a/scripts/switchBranches.fish +++ b/scripts/switchBranches.fish @@ -1,4 +1,5 @@ #!/usr/bin/env fish +set -l fish_trace on function setupSourceInfo set -l field $argv[1]