diff options
-rw-r--r-- | docker/Dockerfile | 7 | ||||
-rw-r--r-- | vars/buildPackage.groovy | 23 | ||||
-rw-r--r-- | vars/isCustomBuild.groovy | 4 |
3 files changed, 30 insertions, 4 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index be789fc2..a9336665 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -357,6 +357,13 @@ RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \ asciidoc-base +# Extra packages +RUN apt-get update +# For owamp +RUN apt-get install -y dh-apparmor dh-exec libcap-dev +# For vyos-xe-guest-utilities +RUN apt-get install -y golang gawk + # Allow password-less 'sudo' for all users in group 'sudo' RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \ echo "vyos_bld\tALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ diff --git a/vars/buildPackage.groovy b/vars/buildPackage.groovy index 531e51d9..239ab465 100644 --- a/vars/buildPackage.groovy +++ b/vars/buildPackage.groovy @@ -115,7 +115,13 @@ def call(description=null, pkgList=null, buildCmd=null, buildArm=false, changesP } } when { - equals expected: true, actual: buildArm + beforeAgent true + allOf { + expression { + return env.ARM64_BUILD_DISABLED != 'true' + } + equals expected: true, actual: buildArm + } } steps { script { @@ -202,7 +208,7 @@ def call(description=null, pkgList=null, buildCmd=null, buildArm=false, changesP } } - files = findFiles(glob: '**/*.deb') + files = findFiles(glob: '**/*.deb', excludes: '**/Makefile.deb') if (files) { echo "Remove deprecated binary package(s) from the repository..." files.each { FILE -> @@ -235,7 +241,7 @@ def call(description=null, pkgList=null, buildCmd=null, buildArm=false, changesP } } - files = findFiles(glob: '**/*.deb') + files = findFiles(glob: '**/*.deb', excludes: '**/Makefile.deb') if (files) { echo "Uploading binary package(s) to the repository ..." files.each { FILE -> @@ -245,11 +251,20 @@ def call(description=null, pkgList=null, buildCmd=null, buildArm=false, changesP def ARCH = '' if (PACKAGE_ARCH != 'all') ARCH = '-A ' + PACKAGE_ARCH + def EXTRA_ARGS = '' + // Add generic Priority if missing + if (sh(returnStatus: true, script: "dpkg-deb -f ${FILE} | grep Priority:") != 0) { + EXTRA_ARGS = EXTRA_ARGS + ' -P optional' + } + // Add generic Section if missing + if (sh(returnStatus: true, script: "dpkg-deb -f ${FILE} | grep Section:") != 0) { + EXTRA_ARGS = EXTRA_ARGS + ' -S misc' + } sh(script: "scp ${SSH_OPTS} ${FILE} ${SSH_REMOTE}:${SSH_DIR}") // Packages like FRR produce their binary in a nested path e.g. packages/frr/frr-rpki-rtrlib-dbgsym_7.5_arm64.deb, // thus we will only extract the filename portion from FILE as the binary is scp'ed to SSH_DIR without any subpath. def FILENAME = FILE.toString().tokenize('/').last() - sh(script: "ssh ${SSH_OPTS} ${SSH_REMOTE} -t \"uncron-add 'reprepro -v -b ${VYOS_REPO_PATH} ${ARCH} includedeb ${RELEASE} ${SSH_DIR}/${FILENAME}'\"") + sh(script: "ssh ${SSH_OPTS} ${SSH_REMOTE} -t \"uncron-add 'reprepro -v -b ${VYOS_REPO_PATH}${EXTRA_ARGS} ${ARCH} includedeb ${RELEASE} ${SSH_DIR}/${FILENAME}'\"") } sh(script: "ssh ${SSH_OPTS} ${SSH_REMOTE} -t \"uncron-add 'reprepro -v -b ${VYOS_REPO_PATH} deleteunreferenced'\"") } diff --git a/vars/isCustomBuild.groovy b/vars/isCustomBuild.groovy index c5e5fab7..b1e6fe76 100644 --- a/vars/isCustomBuild.groovy +++ b/vars/isCustomBuild.groovy @@ -22,5 +22,9 @@ def call() { def gitURI = 'git@github.com:vyos/' + getGitRepoName() def httpURI = 'https://github.com/vyos/' + getGitRepoName() + if (env.CUSTOM_BUILD_CHECK_DISABLED) { + return false + } + return !((getGitRepoURL() == gitURI) || (getGitRepoURL() == httpURI)) || isPullRequest() } |