From e0033529ec8612616ca3444bb392c348aa82e8db Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Fri, 15 Feb 2019 10:13:33 +0100 Subject: HC2VPP-372: Update HC2VPP jobs for bionic - updates bionic support to integration job Change-Id: I5e5170f6671bcc58cf4719cd75e6963882ab6d75 Signed-off-by: Michal Cmarada --- jjb/hc2vpp/hc2vpp.yaml | 10 +- .../include-raw-hc2vpp-integration-prebuild.sh | 101 +++++++++++---------- jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh | 21 ++++- 3 files changed, 76 insertions(+), 56 deletions(-) (limited to 'jjb') diff --git a/jjb/hc2vpp/hc2vpp.yaml b/jjb/hc2vpp/hc2vpp.yaml index a9519232c..321026564 100644 --- a/jjb/hc2vpp/hc2vpp.yaml +++ b/jjb/hc2vpp/hc2vpp.yaml @@ -8,10 +8,14 @@ - 'hc2vpp-verify-image-{stream}-{os}' project: 'hc2vpp' os: - - ubuntu1604: - repo-os-part: 'ubuntu.xenial.main' + - ubuntu1804: + repo-os-part: 'ubuntu.bionic.main' skip-site: 'false' skip-jar-deploy: 'false' + - ubuntu1604: + repo-os-part: 'ubuntu.xenial.main' + skip-site: 'true' + skip-jar-deploy: 'true' - centos7: repo-os-part: 'centos7' skip-site: 'true' @@ -267,7 +271,7 @@ triggers: - reverse: - jobs: 'vpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}' + jobs: 'jvpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}' result: 'success' prebuilders: diff --git a/jjb/hc2vpp/include-raw-hc2vpp-integration-prebuild.sh b/jjb/hc2vpp/include-raw-hc2vpp-integration-prebuild.sh index f5da45af3..2d8052438 100644 --- a/jjb/hc2vpp/include-raw-hc2vpp-integration-prebuild.sh +++ b/jjb/hc2vpp/include-raw-hc2vpp-integration-prebuild.sh @@ -1,68 +1,69 @@ #!/bin/bash set -ex - # Download the latest VPP java API package -URL="https://nexus.fd.io/service/local/artifact/maven/content" VERSION="RELEASE" -GROUP="io.fd.vpp" -ARTIFACTS="vpp-api-java" - -VERSION=`./vpp-version` -if [ "${VERSION}" != 'RELEASE' ]; then - if [ "${OS}" == "centos7" ]; then - VERSION="${VERSION}.x86_64" - else - VERSION="${VERSION}_amd64" - fi -fi +VERSION=`./jvpp-version` -if [ "${OS}" == "ubuntu1604" ]; then - OS_PART="ubuntu.xenial.main" - PACKAGE="deb deb.md5" - CLASS="deb" -elif [ "${OS}" == "centos7" ]; then - OS_PART="centos7" - PACKAGE="rpm rpm.md5" - CLASS="" -fi - -if [ "${STREAM}" == "master" ]; then - STREAM_PART="master" -else - STREAM_PART="stable.${STREAM}" +# Figure out what system we are running on +if [[ -f /etc/lsb-release ]];then + . /etc/lsb-release +elif [[ -f /etc/redhat-release ]];then + sudo yum install -y redhat-lsb + DISTRIB_ID=`lsb_release -si` + DISTRIB_RELEASE=`lsb_release -sr` + DISTRIB_CODENAME=`lsb_release -sc` + DISTRIB_DESCRIPTION=`lsb_release -sd` fi +echo "----- OS INFO -----" +echo DISTRIB_ID: ${DISTRIB_ID} +echo DISTRIB_RELEASE: ${DISTRIB_RELEASE} +echo DISTRIB_CODENAME: ${DISTRIB_CODENAME} +echo DISTRIB_DESCRIPTION: ${DISTRIB_DESCRIPTION} -REPO="fd.io.${STREAM_PART}.${OS_PART}" +echo "----- DOWNLOADING PACKAGES -----" +if ! [[ -z ${REPO_NAME} ]]; then + REPO_URL="https://packagecloud.io/fdio/${STREAM}" + echo "REPO_URL: ${REPO_URL}" + if [[ "$DISTRIB_ID" == "Ubuntu" ]]; then + if [[ -f /etc/apt/sources.list.d/99fd.io.list ]];then + echo "Deleting: /etc/apt/sources.list.d/99fd.io.list" + sudo rm /etc/apt/sources.list.d/99fd.io.list + fi + curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.deb.sh | sudo bash + if [[ "${VERSION}" != 'RELEASE' ]]; then + # download specific version if set + echo VERSION: ${VERSION} + apt-get download vpp-api-java=${VERSION} || true + else + # download latest version for specified stream + apt-get download vpp-api-java || true + fi -for ART in ${ARTIFACTS}; do - for PAC in ${PACKAGE}; do - curl "${URL}?r=${REPO}&g=${GROUP}&a=${ART}&p=${PAC}&v=${VERSION}&c=${CLASS}" -O -J || exit - done -done - -# verify downloaded package -if [ "${OS}" == "centos7" ]; then - FILES=*.rpm -else - FILES=*.deb + elif [[ "$DISTRIB_ID" == "CentOS" ]]; then + if [[ -f /etc/yum.repos.d/fdio-master.repo ]]; then + echo "Deleting: /etc/yum.repos.d/fdio-master.repo" + sudo rm /etc/yum.repos.d/fdio-master.repo + fi + curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.rpm.sh | sudo bash + if [[ "${VERSION}" != 'RELEASE' ]]; then + # download specific version if set + echo VERSION: ${VERSION} + sudo yum -y install --downloadonly --downloaddir=./ vpp-api-java-${VERSION} || true + else + # download latest version for specified stream + sudo yum -y install --downloadonly --downloaddir=./ vpp-api-java || true + fi + fi fi -for FILE in ${FILES}; do - echo " "${FILE} >> ${FILE}.md5 -done -for MD5FILE in *.md5; do - md5sum -c ${MD5FILE} || exit - rm ${MD5FILE} -done - # install vpp-api-java, this extracts jvpp .jar files into usr/share/java -if [ "${OS}" == "centos7" ]; then +if [[ "${OS}" == "centos7" ]]; then sudo rpm --nodeps --install vpp-api-java* else - sudo dpkg --ignore-depends=vpp --install vpp-api-java* + sudo dpkg --ignore-depends=vpp,vpp-plugin-core --install vpp-api-java* fi -rm vpp-api-java* +sudo rm vpp-api-java* # install jvpp jars into maven repo, so that maven picks them up when building hc2vpp version=`./jvpp/version` diff --git a/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh index bdc475df2..99a911c65 100644 --- a/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh +++ b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh @@ -10,7 +10,8 @@ set -x if [ "${STREAM}" == "master" ]; then if [ "${OS}" == "centos7" ]; then # Determine VPP Java API version used in maven build - VERSION=`yum list installed vpp-api-java | grep vpp-api-java | awk '{ printf $2; }'` + JVPP_VERSION=`yum list installed vpp-api-java | grep vpp-api-java | awk '{ printf $2; }'` + VERSION=`yum deplist vpp-api-java |grep vpp-lib |head -1 | awk '{ print $3}'` # Write a file that will echo VPP dependencies echo -n 'echo' > vpp_dependencies @@ -21,11 +22,12 @@ if [ "${STREAM}" == "master" ]; then mv vpp_dependencies packaging/rpm/ else # Determine VPP Java API version used in maven build - VERSION=`apt list --installed | grep vpp-api-java | awk '{ printf $2; }'` + JVPP_VERSION=`apt list --installed | grep vpp-api-java | awk '{ printf $2; }'` + VERSION=`apt-cache showpkg vpp-api-java |grep "$JVPP_VERSION" |grep vpp | sed "s/.*(. //" | sed "s/).*//"` # Write a file that will echo VPP dependencies echo -n 'echo' > vpp_dependencies - echo " \"vpp (= ${VERSION}), vpp-plugins (= ${VERSION})\"" >> vpp_dependencies + echo " \"vpp (= ${VERSION}), vpp-plugin-core (= ${VERSION})\"" >> vpp_dependencies chmod +x vpp_dependencies # Overwrite default dependencies file @@ -57,6 +59,19 @@ elif [ "${OS}" == "ubuntu1604" ]; then # Find the files DEBS=$(find . -type f -iname '*.deb') + # Publish hc2vpp packages + for i in $DEBS + do + push_deb "$i" + done +elif [ "${OS}" == "ubuntu1804" ]; then + + # Build the debs + ./packaging/deb/bionic/debuild.sh + + # Find the files + DEBS=$(find . -type f -iname '*.deb') + # Publish hc2vpp packages for i in $DEBS do -- cgit 1.2.3-korg