chore(post-release-cleanup): clean up VPP CI jobs post VPP 23.10 release
[ci-management.git] / docker / scripts / lib_vpp.sh
index 72bec64..312bbf7 100644 (file)
@@ -1,7 +1,7 @@
 # lib_vpp.sh - Docker build script VPP library.
 #              For import only.
 
-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2023 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:
@@ -23,6 +23,15 @@ alias lib_vpp_imported=true
 export CIMAN_DOCKER_SCRIPTS=${CIMAN_DOCKER_SCRIPTS:-"$(dirname $BASH_SOURCE)"}
 . $CIMAN_DOCKER_SCRIPTS/lib_common.sh
 
+
+VPP_SUPPORTED_EXECUTOR_CLASSES="builder"
+vpp_supported_executor_class() {
+    if ! grep -q "${1:-}" <<< $VPP_SUPPORTED_EXECUTOR_CLASSES ; then
+        return 1
+    fi
+    return 0
+}
+
 make_vpp() {
     local target=$1
     local branch=${2:-"master"}
@@ -37,12 +46,9 @@ make_vpp() {
         return
     fi
     git clean -qfdx
-    description="'make UNATTENDED=y $target' in $(pwd) ($branch)"
+    description="'make UNATTENDED=yes $target' in $(pwd) ($branch)"
     echo_log -e "    Starting  $description..."
-    local force_opts="--allow-downgrades --allow-remove-essential"
-    force_opts="$force_opts --allow-change-held-packages"
-    make UNATTENDED=y CONFIRM="-y" FORCE="$force_opts" \
-         $target 2>&1 | tee -a "$bld_log"
+    make UNATTENDED=yes $target 2>&1 | tee -a "$bld_log"
     git checkout -q -- .
     echo_log "    Completed $description!"
 }
@@ -71,20 +77,26 @@ make_vpp_test() {
 }
 
 docker_build_setup_vpp() {
-    if [ ! -d "$DOCKER_VPP_DIR" ] ; then
-        echo_log "Cloning VPP into $DOCKER_VPP_DIR..."
-        git clone -q https://gerrit.fd.io/r/vpp $DOCKER_VPP_DIR
+    if vpp_supported_executor_class "$EXECUTOR_CLASS" ; then
+        if [ ! -d "$DOCKER_VPP_DIR" ] ; then
+            echo_log "Cloning VPP into $DOCKER_VPP_DIR..."
+            git clone -q https://gerrit.fd.io/r/vpp $DOCKER_VPP_DIR
+        fi
+        clean_git_repo $DOCKER_VPP_DIR
     fi
-    clean_git_repo $DOCKER_VPP_DIR
 }
 
 # Branches must be listed in chronological order -- oldest stable branch
 # first and master last.
+#
+# Note: CI Jobs for each architecture are maintained in
+#       .../ci-management/jjb/vpp/vpp.yaml
+#       All OS's and branches are included in the 'os' and 'stream'
+#       definitions respectively, then the exclude list maintained
+#       to create an enumerated set of jobs jobs that match the
+#       definitions here.
 declare -A VPP_BRANCHES
-VPP_BRANCHES["centos-7"]="stable/1908 stable/2001 stable/2005 stable/2009"
-VPP_BRANCHES["centos-8"]="stable/2009 master"
-VPP_BRANCHES["debian-9"]="stable/2009 master"
-VPP_BRANCHES["debian-10"]="stable/2009 master"
-VPP_BRANCHES["ubuntu-18.04"]="stable/1908 stable/2001 stable/2005 stable/2009 master"
-VPP_BRANCHES["ubuntu-20.04"]="stable/2009 master"
+VPP_BRANCHES["debian-11"]="stable/2306 stable/2310 master"
+VPP_BRANCHES["ubuntu-20.04"]="stable/2306 stable/2310 master"
+VPP_BRANCHES["ubuntu-22.04"]="stable/2306 stable/2310 master"
 export VPP_BRANCHES