From c16cf4ec132c21090342324878ca22ad1fc0476e Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Tue, 7 Jan 2020 18:01:18 +0100 Subject: VPP: Make script inclusion more readable Historically, scripts names started with include-raw-vpp- prefix. That was not only long and superfluous, but also confusing, as the actual way of including uses "include-raw-escape", which is a command behaving differently than "include-raw", suggested by the previous name. This Change shortens script names to the part that actually says something about the script. + Delete include-gcc8-prefer.sh as it is orphaned since https://gerrit.fd.io/r/c/ci-management/+/20443 + Move the scripts to jjb/scripts/vpp/. - "absolute" paths are not used, as ci-man root is not in search path. + Put each path on a separate line to avoid long lines. + Put each include in a separate shell to make sure return code of each script is checked. + Update copyright year where present. - Copyright notices are not added when not present. Change-Id: I48920542ff20810cc87fb01844236350348bae59 Signed-off-by: Vratko Polak --- jjb/scripts/vpp/arm-build-no-test.sh | 58 +++++++++++++++++++++++++++++++ jjb/scripts/vpp/arm-build.sh | 66 ++++++++++++++++++++++++++++++++++++ jjb/scripts/vpp/build.sh | 64 ++++++++++++++++++++++++++++++++++ jjb/scripts/vpp/check_crc.sh | 38 +++++++++++++++++++++ jjb/scripts/vpp/checkstyle.sh | 9 +++++ jjb/scripts/vpp/clang-build.sh | 40 ++++++++++++++++++++++ jjb/scripts/vpp/commitmsg.sh | 8 +++++ jjb/scripts/vpp/coverity.sh | 32 +++++++++++++++++ jjb/scripts/vpp/csit-device.sh | 38 +++++++++++++++++++++ jjb/scripts/vpp/csit-perf.sh | 38 +++++++++++++++++++++ jjb/scripts/vpp/docs.sh | 50 +++++++++++++++++++++++++++ jjb/scripts/vpp/make-test-docs.sh | 49 ++++++++++++++++++++++++++ jjb/scripts/vpp/maven-push.sh | 56 ++++++++++++++++++++++++++++++ jjb/scripts/vpp/parallel-vars.sh | 11 ++++++ jjb/scripts/vpp/sphinx-docs.sh | 50 +++++++++++++++++++++++++++ jjb/scripts/vpp/test-checkstyle.sh | 9 +++++ 16 files changed, 616 insertions(+) create mode 100644 jjb/scripts/vpp/arm-build-no-test.sh create mode 100644 jjb/scripts/vpp/arm-build.sh create mode 100644 jjb/scripts/vpp/build.sh create mode 100644 jjb/scripts/vpp/check_crc.sh create mode 100644 jjb/scripts/vpp/checkstyle.sh create mode 100644 jjb/scripts/vpp/clang-build.sh create mode 100644 jjb/scripts/vpp/commitmsg.sh create mode 100644 jjb/scripts/vpp/coverity.sh create mode 100644 jjb/scripts/vpp/csit-device.sh create mode 100644 jjb/scripts/vpp/csit-perf.sh create mode 100644 jjb/scripts/vpp/docs.sh create mode 100644 jjb/scripts/vpp/make-test-docs.sh create mode 100644 jjb/scripts/vpp/maven-push.sh create mode 100644 jjb/scripts/vpp/parallel-vars.sh create mode 100644 jjb/scripts/vpp/sphinx-docs.sh create mode 100644 jjb/scripts/vpp/test-checkstyle.sh (limited to 'jjb/scripts') diff --git a/jjb/scripts/vpp/arm-build-no-test.sh b/jjb/scripts/vpp/arm-build-no-test.sh new file mode 100644 index 000000000..94cc82449 --- /dev/null +++ b/jjb/scripts/vpp/arm-build-no-test.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# basic build script example +set -xe -o pipefail + +OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +echo OS_ID: $OS_ID +echo OS_VERSION_ID: $OS_VERSION_ID + +# do nothing but print the current slave hostname +hostname +export CCACHE_DIR=/tmp/ccache +if [ -d $CCACHE_DIR ];then + echo $CCACHE_DIR exists + du -sk $CCACHE_DIR +else + echo $CCACHE_DIR does not exist. This must be a new slave. +fi + +echo "cat /etc/bootstrap.sha" +if [ -f /etc/bootstrap.sha ];then + cat /etc/bootstrap.sha +else + echo "Cannot find cat /etc/bootstrap.sha" +fi + +echo "cat /etc/bootstrap-functions.sha" +if [ -f /etc/bootstrap-functions.sha ];then + cat /etc/bootstrap-functions.sha +else + echo "Cannot find cat /etc/bootstrap-functions.sha" +fi + +echo "sha1sum of this script: ${0}" +sha1sum $0 + +echo "CC=${CC}" + +make UNATTENDED=yes install-dep +make UNATTENDED=yes dpdk-install-dev +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp libmemif-install +make UNATTENDED=yes pkg-deb + +if [ "x${VPP_REPO}" == "x1" ]; then + if [ "x${REBASE_NEEDED}" == "x1" ]; then + echo "This patch to vpp is based on an old point in the tree that is likely" + echo "to fail verify." + echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" + exit 1 + fi +fi + +echo "*******************************************************************" +echo "* VPP ARM BUILD SUCCESSFULLY COMPLETED" +echo "*******************************************************************" diff --git a/jjb/scripts/vpp/arm-build.sh b/jjb/scripts/vpp/arm-build.sh new file mode 100644 index 000000000..9de736ae0 --- /dev/null +++ b/jjb/scripts/vpp/arm-build.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# basic build script example +set -xe -o pipefail + +OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +echo OS_ID: $OS_ID +echo OS_VERSION_ID: $OS_VERSION_ID + +# do nothing but print the current slave hostname +hostname +export CCACHE_DIR=/tmp/ccache +if [ -d $CCACHE_DIR ];then + echo $CCACHE_DIR exists + du -sk $CCACHE_DIR +else + echo $CCACHE_DIR does not exist. This must be a new slave. +fi + +echo "cat /etc/bootstrap.sha" +if [ -f /etc/bootstrap.sha ];then + cat /etc/bootstrap.sha +else + echo "Cannot find cat /etc/bootstrap.sha" +fi + +echo "cat /etc/bootstrap-functions.sha" +if [ -f /etc/bootstrap-functions.sha ];then + cat /etc/bootstrap-functions.sha +else + echo "Cannot find cat /etc/bootstrap-functions.sha" +fi + +echo "sha1sum of this script: ${0}" +sha1sum $0 + +echo "CC=${CC}" +echo "IS_CSIT_VPP_JOB=${IS_CSIT_VPP_JOB}" +# If and only if we are doing verify *after* make verify was made to work +# and we are not a CSIT job just building packages, then use make verify, +# else use the old build-root/vagrant/build.sh +if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \ + [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ] +then + echo "Building using \"make verify\"" + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify SKIP_AARCH64=yes +else + echo "Building using \"make build-root/vagrant/build.sh\"" + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes install-dep + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes dpdk-install-dev + [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh +fi + +if [ "x${VPP_REPO}" == "x1" ]; then + if [ "x${REBASE_NEEDED}" == "x1" ]; then + echo "This patch to vpp is based on an old point in the tree that is likely" + echo "to fail verify." + echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" + exit 1 + fi +fi + +echo "*******************************************************************" +echo "* VPP ARM BUILD SUCCESSFULLY COMPLETED" +echo "*******************************************************************" diff --git a/jjb/scripts/vpp/build.sh b/jjb/scripts/vpp/build.sh new file mode 100644 index 000000000..6fdaec133 --- /dev/null +++ b/jjb/scripts/vpp/build.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# basic build script example +set -xe -o pipefail + +OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +echo OS_ID: $OS_ID +echo OS_VERSION_ID: $OS_VERSION_ID + +# do nothing but print the current slave hostname +hostname +export CCACHE_DIR=/tmp/ccache +if [ -d $CCACHE_DIR ];then + echo $CCACHE_DIR exists + du -sk $CCACHE_DIR +else + echo $CCACHE_DIR does not exist. This must be a new slave. +fi + +echo "cat /etc/bootstrap.sha" +if [ -f /etc/bootstrap.sha ];then + cat /etc/bootstrap.sha +else + echo "Cannot find cat /etc/bootstrap.sha" +fi + +echo "cat /etc/bootstrap-functions.sha" +if [ -f /etc/bootstrap-functions.sha ];then + cat /etc/bootstrap-functions.sha +else + echo "Cannot find cat /etc/bootstrap-functions.sha" +fi + +echo "sha1sum of this script: ${0}" +sha1sum $0 + +echo "CC=${CC}" +echo "IS_CSIT_VPP_JOB=${IS_CSIT_VPP_JOB}" +# If and only if we are doing verify *after* make verify was made to work +# and we are not a CSIT job just building packages, then use make verify, +# else use make pkg-verify. +if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \ + [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ] +then + echo "Building using \"make verify\"" + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes TEST_JOBS=auto verify +else + echo "Building using \"make pkg-verify\"" + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes pkg-verify +fi + +if [ "x${VPP_REPO}" == "x1" ]; then + if [ "x${REBASE_NEEDED}" == "x1" ]; then + echo "This patch to vpp is based on an old point in the tree that is likely" + echo "to fail verify." + echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" + exit 1 + fi +fi + +echo "*******************************************************************" +echo "* VPP BUILD SUCCESSFULLY COMPLETED" +echo "*******************************************************************" diff --git a/jjb/scripts/vpp/check_crc.sh b/jjb/scripts/vpp/check_crc.sh new file mode 100644 index 000000000..04e53966d --- /dev/null +++ b/jjb/scripts/vpp/check_crc.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -exuo pipefail + +# Clone CSIT git repository and proceed with entry script located there. +# +# Variables read: +# - WORKSPACE - Jenkins workspace to create csit subdirectory in. +# - CSIT_REF - Override ref of CSIT git repository to checkout. +# Directories updated: +# - ${WORKSPACE}/csit - Created, holding a checked out CSIT repository. +# - Multiple other side effects by entry script(s), see CSIT repository. + +cd "${WORKSPACE}" +git clone https://gerrit.fd.io/r/csit --depth=1 --no-single-branch --no-checkout +pushd "${WORKSPACE}/csit" +if [[ -n "${CSIT_REF-}" ]]; then + git fetch --depth=1 https://gerrit.fd.io/r/csit "${CSIT_REF}" + git checkout FETCH_HEAD +else + git checkout HEAD +fi +popd +csit_entry_dir="${WORKSPACE}/csit/resources/libraries/bash/entry" +source "${csit_entry_dir}/with_oper_for_vpp.sh" "check_crc.sh" diff --git a/jjb/scripts/vpp/checkstyle.sh b/jjb/scripts/vpp/checkstyle.sh new file mode 100644 index 000000000..7c520dd99 --- /dev/null +++ b/jjb/scripts/vpp/checkstyle.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# jjb/vpp/include-raw-vpp-checkstyle.sh + +if [ -n "$(grep -E '^checkstyle:' Makefile)" ] +then + make checkstyle +else + echo "Can't find checkstyle target in Makefile - skipping checkstyle" +fi diff --git a/jjb/scripts/vpp/clang-build.sh b/jjb/scripts/vpp/clang-build.sh new file mode 100644 index 000000000..b1bed417b --- /dev/null +++ b/jjb/scripts/vpp/clang-build.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# basic build script example +set -xe -o pipefail + +OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') + +echo OS_ID: $OS_ID +echo OS_VERSION_ID: $OS_VERSION_ID + +# do nothing but print the current slave hostname +hostname + +echo "cat /etc/bootstrap.sha" +if [ -f /etc/bootstrap.sha ];then + cat /etc/bootstrap.sha +else + echo "Cannot find cat /etc/bootstrap.sha" +fi + +echo "cat /etc/bootstrap-functions.sha" +if [ -f /etc/bootstrap-functions.sha ];then + cat /etc/bootstrap-functions.sha +else + echo "Cannot find cat /etc/bootstrap-functions.sha" +fi + +echo "sha1sum of this script: ${0}" +sha1sum $0 + +make UNATTENDED=yes install-dep +make UNATTENDED=yes install-ext-deps +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang install-packages +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang sample-plugin-install +make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang libmemif-install + + +echo "*******************************************************************" +echo "* VPP CLANG BUILD SUCCESSFULLY COMPLETED" +echo "*******************************************************************" diff --git a/jjb/scripts/vpp/commitmsg.sh b/jjb/scripts/vpp/commitmsg.sh new file mode 100644 index 000000000..d926ff5dd --- /dev/null +++ b/jjb/scripts/vpp/commitmsg.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ -f extras/scripts/check_commit_msg.sh ];then + echo "Running extras/scripts/check_commit_msg.sh" + extras/scripts/check_commit_msg.sh +else + echo "Cannot find cat extras/scripts/check_commit_msg.sh - skipping commit message check" +fi diff --git a/jjb/scripts/vpp/coverity.sh b/jjb/scripts/vpp/coverity.sh new file mode 100644 index 000000000..47a316a89 --- /dev/null +++ b/jjb/scripts/vpp/coverity.sh @@ -0,0 +1,32 @@ +#!/bin/bash +FILE="scan.txt" +OUTPUT="output.txt" + +wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb +dpkg -i google-chrome-stable_current_amd64.deb || true +apt-get install -f -y + +google-chrome --headless --disable-gpu -dump-dom --no-sandbox https://scan.coverity.com/projects/fd-io-vpp > $FILE + +grep -i '
Newly detected
' $FILE || exit 42 + +NEW=$(grep -i -B 1 '
Newly detected
' $FILE | grep -Eo '[0-9]{1,4}') +ELIM=$(grep -i -B 1 '
Eliminated
' $FILE | grep -Eo '[0-9]{1,4}') +OUT=$(grep -i -B 1 '
Outstanding
' $FILE | grep -Eo '[0-9]{1,4}') + +#ls -lg $FILE +#cat $FILE + +if [ "${OUT}" == "0" ]; then + echo 'Current outstanding issues are zero' > $OUTPUT + echo "Newly detected: $NEW" >> $OUTPUT + echo "Eliminated: $ELIM" >> $OUTPUT + echo "More details can be found at https://scan.coverity.com/projects/fd-io-vpp/view_defects" >> $OUTPUT +else + echo "Current number of outstanding issues are $OUT Failing job" + echo "Current number of outstanding issues are $OUT" > $OUTPUT + echo "Newly detected: $NEW" >> $OUTPUT + echo "Eliminated: $ELIM" >> $OUTPUT + echo "More details can be found at https://scan.coverity.com/projects/fd-io-vpp/view_defects" >> $OUTPUT + exit 1 +fi diff --git a/jjb/scripts/vpp/csit-device.sh b/jjb/scripts/vpp/csit-device.sh new file mode 100644 index 000000000..af54c9dc4 --- /dev/null +++ b/jjb/scripts/vpp/csit-device.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -exuo pipefail + +# Clone CSIT git repository and proceed with entry script located there. +# +# Variables read: +# - WORKSPACE - Jenkins workspace to create csit subdirectory in. +# - CSIT_REF - Override ref of CSIT git repository to checkout. +# Directories updated: +# - ${WORKSPACE}/csit - Created, holding a checked out CSIT repository. +# - Multiple other side effects by entry script(s), see CSIT repository. + +cd "${WORKSPACE}" +git clone https://gerrit.fd.io/r/csit --depth=1 --no-single-branch --no-checkout +pushd "${WORKSPACE}/csit" +if [[ -n "${CSIT_REF-}" ]]; then + git fetch --depth=1 https://gerrit.fd.io/r/csit "${CSIT_REF}" + git checkout FETCH_HEAD +else + git checkout HEAD +fi +popd +csit_entry_dir="${WORKSPACE}/csit/resources/libraries/bash/entry" +source "${csit_entry_dir}/with_oper_for_vpp.sh" "per_patch_device.sh" diff --git a/jjb/scripts/vpp/csit-perf.sh b/jjb/scripts/vpp/csit-perf.sh new file mode 100644 index 000000000..17a9d39bc --- /dev/null +++ b/jjb/scripts/vpp/csit-perf.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -exuo pipefail + +# Clone CSIT git repository and proceed with entry script located there. +# +# Variables read: +# - WORKSPACE - Jenkins workspace to create csit subdirectory in. +# - CSIT_REF - Override ref of CSIT git repository to checkout. +# Directories updated: +# - ${WORKSPACE}/csit - Created, holding a checked out CSIT repository. +# - Multiple other side effects by entry script(s), see CSIT repository. + +cd "${WORKSPACE}" +git clone https://gerrit.fd.io/r/csit --depth=1 --no-single-branch --no-checkout +pushd "${WORKSPACE}/csit" +if [[ -n "${CSIT_REF-}" ]]; then + git fetch --depth=1 https://gerrit.fd.io/r/csit "${CSIT_REF}" + git checkout FETCH_HEAD +else + git checkout HEAD +fi +popd +csit_entry_dir="${WORKSPACE}/csit/resources/libraries/bash/entry" +source "${csit_entry_dir}/with_oper_for_vpp.sh" "per_patch_perf.sh" diff --git a/jjb/scripts/vpp/docs.sh b/jjb/scripts/vpp/docs.sh new file mode 100644 index 000000000..608f8f979 --- /dev/null +++ b/jjb/scripts/vpp/docs.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -xe -o pipefail +[ "$DOCS_REPO_URL" ] || DOCS_REPO_URL="https://nexus.fd.io/content/sites/site" +[ "$PROJECT_PATH" ] || PROJECT_PATH=io/fd/vpp +[ "$DOC_FILE" ] || DOC_FILE=vpp.docs.zip +[ "$DOC_DIR" ] || DOC_DIR=build-root/docs/html +[ "$SITE_DIR" ] || SITE_DIR=build-root/docs/deploy-site/ +[ "$RESOURCES_DIR" ] || RESOURCES_DIR=${SITE_DIR}/src/site/resources +[ "$MVN" ] || MVN="/opt/apache/maven/bin/mvn" +[ "$VERSION" ] || VERSION=$(./build-root/scripts/version rpm-version) + +make doxygen + +if [[ ${JOB_NAME} == *merge* ]]; then + mkdir -p $(dirname ${RESOURCES_DIR}) + mv -f ${DOC_DIR} ${RESOURCES_DIR} + cd ${SITE_DIR} + find . -type f '(' -name '*.md5' -o -name '*.dot' -o -name '*.map' ')' -delete + cat > pom.xml << EOF + + 4.0.0 + io.fd.vpp + docs + 1.0.0 + pom + + + false + + + + + + org.apache.maven.wagon + wagon-webdav-jackrabbit + 2.10 + + + + + + fdio-site + dav:${DOCS_REPO_URL}/${PROJECT_PATH}/${VERSION} + + + +EOF + ${MVN} -B site:site site:deploy -gs "${GLOBAL_SETTINGS_FILE}" -s "${SETTINGS_FILE}" -T 4C + cd - +fi diff --git a/jjb/scripts/vpp/make-test-docs.sh b/jjb/scripts/vpp/make-test-docs.sh new file mode 100644 index 000000000..1f82ab502 --- /dev/null +++ b/jjb/scripts/vpp/make-test-docs.sh @@ -0,0 +1,49 @@ +#!/bin/bash +set -xe -o pipefail +[ "$DOCS_REPO_URL" ] || DOCS_REPO_URL="https://nexus.fd.io/content/sites/site" +[ "$PROJECT_PATH" ] || PROJECT_PATH=io/fd/vpp +[ "$DOC_DIR" ] || DOC_DIR=build-root/build-test/doc/html +[ "$SITE_DIR" ] || SITE_DIR=build-root/docs/deploy-site +[ "$RESOURCES_DIR" ] || RESOURCES_DIR=${SITE_DIR}/src/site/resources/vpp_make_test +[ "$MVN" ] || MVN="/opt/apache/maven/bin/mvn" +[ "$VERSION" ] || VERSION=$(./build-root/scripts/version rpm-version) + +make test-doc + +if [[ ${JOB_NAME} == *merge* ]]; then + mkdir -p ${RESOURCES_DIR} + mv -f ${DOC_DIR} ${RESOURCES_DIR} + cd ${SITE_DIR} + + cat > pom.xml << EOF + + 4.0.0 + io.fd.vpp + docs + 1.0.0 + pom + + + false + + + + + + org.apache.maven.wagon + wagon-webdav-jackrabbit + 2.10 + + + + + + fdio-site + dav:${DOCS_REPO_URL}/${PROJECT_PATH}/${VERSION} + + + +EOF + ${MVN} -B site:site site:deploy -gs "${GLOBAL_SETTINGS_FILE}" -s "${SETTINGS_FILE}" -T 4C + cd - +fi diff --git a/jjb/scripts/vpp/maven-push.sh b/jjb/scripts/vpp/maven-push.sh new file mode 100644 index 000000000..6ce3b2c06 --- /dev/null +++ b/jjb/scripts/vpp/maven-push.sh @@ -0,0 +1,56 @@ +#!/bin/bash +set -xe -o pipefail +echo "*******************************************************************" +echo "* STARTING PUSH OF PACKAGES TO REPOS" +echo "* NOTHING THAT HAPPENS BELOW THIS POINT IS RELATED TO BUILD FAILURE" +echo "*******************************************************************" + +[ "$MVN" ] || MVN="/opt/apache/maven/bin/mvn" +GROUP_ID="io.fd.${PROJECT}" +BASEURL="${NEXUSPROXY}/content/repositories/fd.io." +BASEREPOID='fdio-' + +if [ "${OS}" == "ubuntu1604" ]; then + # Find the files + JARS=$(find . -type f -iname '*.jar') + DEBS=$(find . -type f -iname '*.deb') + for i in $JARS + do + push_jar "$i" + done + + for i in $DEBS + do + push_deb "$i" + done +elif [ "${OS}" == "ubuntu1804" ]; then + # Find the files + JARS=$(find . -type f -iname '*.jar') + DEBS=$(find . -type f -iname '*.deb') + for i in $JARS + do + push_jar "$i" + done + + for i in $DEBS + do + push_deb "$i" + done +elif [ "${OS}" == "centos7" ]; then + # Find the files + RPMS=$(find . -type f -iname '*.rpm') + SRPMS=$(find . -type f -iname '*.srpm') + SRCRPMS=$(find . -type f -name '*.src.rpm') + for i in $RPMS $SRPMS $SRCRPMS + do + push_rpm "$i" + done +elif [ "${OS}" == "opensuse" ]; then + # Find the files + RPMS=$(find . -type f -iname '*.rpm') + for i in $RPMS + do + push_rpm "$i" + done +fi +# vim: ts=4 sw=4 sts=4 et ft=sh : diff --git a/jjb/scripts/vpp/parallel-vars.sh b/jjb/scripts/vpp/parallel-vars.sh new file mode 100644 index 000000000..1a5de149f --- /dev/null +++ b/jjb/scripts/vpp/parallel-vars.sh @@ -0,0 +1,11 @@ +#!/bin/bash +CORES=4 +if [[ $(uname -m) == 'aarch64' ]] +then + CORES=16 +fi + +echo "Using MAKE_PARALLEL_FLAGS='-j $CORES' TEST_JOBS=$CORES for parallel build/test" + +export MAKE_PARALLEL_FLAGS="-j $CORES" +export TEST_JOBS=$CORES diff --git a/jjb/scripts/vpp/sphinx-docs.sh b/jjb/scripts/vpp/sphinx-docs.sh new file mode 100644 index 000000000..e5b8cfd15 --- /dev/null +++ b/jjb/scripts/vpp/sphinx-docs.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -xe -o pipefail +[ "$DOCS_REPO_URL" ] || DOCS_REPO_URL="https://nexus.fd.io/content/sites/site" +[ "$PROJECT_PATH" ] || PROJECT_PATH=io/fd/vpp +[ "$DOC_FILE" ] || DOC_FILE=vpp.docs.zip +[ "$DOC_DIR" ] || DOC_DIR=./docs/_build/html +[ "$SITE_DIR" ] || SITE_DIR=build-root/docs/deploy-site +[ "$RESOURCES_DIR" ] || RESOURCES_DIR=${SITE_DIR}/src/site/resources +[ "$MVN" ] || MVN="/opt/apache/maven/bin/mvn" +[ "$VERSION" ] || VERSION=$(./build-root/scripts/version rpm-version) + +make docs-venv +make docs + +if [[ ${JOB_NAME} == *merge* ]]; then + mkdir -p $(dirname ${RESOURCES_DIR}) + mv -f ${DOC_DIR} ${RESOURCES_DIR} + cd ${SITE_DIR} + cat > pom.xml << EOF + + 4.0.0 + io.fd.vpp + docs + 1.0.0 + pom + + + false + + + + + + org.apache.maven.wagon + wagon-webdav-jackrabbit + 2.10 + + + + + + fdio-site + dav:${DOCS_REPO_URL}/${PROJECT_PATH}/v${VERSION} + + + +EOF + ${MVN} -B site:site site:deploy -gs "${GLOBAL_SETTINGS_FILE}" -s "${SETTINGS_FILE}" -T 4C + cd - +fi diff --git a/jjb/scripts/vpp/test-checkstyle.sh b/jjb/scripts/vpp/test-checkstyle.sh new file mode 100644 index 000000000..bdc843114 --- /dev/null +++ b/jjb/scripts/vpp/test-checkstyle.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# jjb/vpp/include-raw-vpp-test-checkstyle.sh + +if [ -n "$(grep -E '^test-checkstyle:' Makefile)" ] +then + make test-checkstyle +else + echo "Can't find test-checkstyle target in Makefile - skipping test-checkstyle" +fi -- cgit 1.2.3-korg