--- /dev/null
+#!/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"
- 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:
- 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'