From 003338ccba887c39e766cc0e63af3c5eaad6f9c5 Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Mon, 29 Jul 2019 16:38:17 +0200 Subject: [PATCH] Add a standalone job for checking VPP API CRCs + Only for master (and stable1908 and later). + Move the INFO.yaml verifying job project before templates. Change-Id: I68e504b1c4c7148c6c98543f606bf0b621823564 Signed-off-by: Vratko Polak --- jjb/vpp/check_crc.sh | 38 +++++++++++++++++++++++ jjb/vpp/vpp.yaml | 88 +++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 118 insertions(+), 8 deletions(-) create mode 100644 jjb/vpp/check_crc.sh diff --git a/jjb/vpp/check_crc.sh b/jjb/vpp/check_crc.sh new file mode 100644 index 000000000..71d960ace --- /dev/null +++ b/jjb/vpp/check_crc.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Copyright (c) 2019 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/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index eebe0a32d..53c982803 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -128,6 +128,30 @@ - ubuntu1804: repo-os-part: 'ubuntu-arm.bionic.main' +# TODO: Merge with (e.g.) vpp-perpatch or similar, +# when number of stable branches supported matches. +- project: + name: vpp-api-crc + jobs: + - 'vpp-csit-verify-api-crc-{stream}' + project: 'vpp' + executor: 'vpp-csit-device' + skip-vote: 'false' + stream: + # TODO: Add stable/1908 when it is created. + - master: + branch: 'master' + os: ubuntu1804 + +- project: + name: vpp-info + project-name: vpp + jobs: + - gerrit-info-yaml-verify + build-node: centos7-builder-4c-4g + project: vpp + branch: master + - project: name: vpp-view views: @@ -901,11 +925,59 @@ - fdio-infra-shiplogs: maven-version: 'mvn33-new' -- project: - name: vpp-info - project-name: vpp - jobs: - - gerrit-info-yaml-verify - build-node: centos7-builder-4c-4g - project: vpp - branch: master +- job-template: + name: 'vpp-csit-verify-api-crc-{stream}' + + project-type: freestyle + node: '{os}-us' + concurrent: true + archive-artifacts: '' + latest-only: false + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: 100 + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - gerrit-refspec-parameter + - gerrit-csit-refspec-parameter + - stream-parameter: + stream: '{stream}' + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers-non-activity-timeout: + build-timeout: 300 + + triggers: + # TODO: Make other verify jobs trigger on success of this one, + # without breaking verification for VPP branches before stable/1908. + - gerrit-trigger-checkstyle: + name: '{project}' + branch: '{branch}' + + builders: + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: check_crc.sh + # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' -- 2.16.6