diff options
author | 2020-07-21 15:32:12 -0700 | |
---|---|---|
committer | 2020-10-28 18:31:44 +0000 | |
commit | 97963740c8f3ae0b5b17fc15a53b2b8c86c7df1f (patch) | |
tree | 0374dce3c49637add2199e94aabb5536e3ee4ac5 /docker/scripts/dbld_vpp_install_packages.sh | |
parent | ae401885b0f508e321e02ba84a928bf7a9049776 (diff) |
Automate generation of docker builder images.
- Add bash scripts to generate builder image Dockerfile
that invokes the scripts to iterate over project
branches installing OS packages and python
modules.
Change-Id: I9b3b355b593e2f982f287023c662cc4a4f35a734
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'docker/scripts/dbld_vpp_install_packages.sh')
-rwxr-xr-x | docker/scripts/dbld_vpp_install_packages.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/docker/scripts/dbld_vpp_install_packages.sh b/docker/scripts/dbld_vpp_install_packages.sh new file mode 100755 index 000000000..f18ef752e --- /dev/null +++ b/docker/scripts/dbld_vpp_install_packages.sh @@ -0,0 +1,81 @@ +#! /bin/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 -euxo pipefail + +export CIMAN_DOCKER_SCRIPTS=${CIMAN_DOCKER_SCRIPTS:-"$(dirname $BASH_SOURCE)"} +. $CIMAN_DOCKER_SCRIPTS/lib_vpp.sh +. $CIMAN_DOCKER_SCRIPTS/lib_apt.sh +. $CIMAN_DOCKER_SCRIPTS/lib_yum.sh +. $CIMAN_DOCKER_SCRIPTS/lib_dnf.sh + +must_be_run_as_root +must_be_run_in_docker_build + +echo_log +echo_log "Starting $(basename $0)" + +do_git_config vpp +for branch in ${VPP_BRANCHES[$OS_NAME]} ; do + do_git_branch $branch + + # Install OS packages + make_vpp "install-dep" $branch + make_vpp "centos-pyyaml" $branch # VPP Makefile tests for centos versions + if [ "$OS_ID" = "ubuntu" ] ; then + # TODO: fix VPP stable/2005 bug in sphinx-make.sh + # which fails on 'yum install python3-venv' + # that does not exist. + # 'Make docs jobs are only run on ubuntu executors + # so only run for ubuntu build executors until fixed. + make_vpp "docs-venv" $branch + elif [ "$OS_NAME" = "debian-9" ] ; then + apt_override_cmake_install_with_pip3_version + fi + + # Download, build, and cache external deps packages + make_vpp "install-ext-deps" $branch + set +e + vpp_ext_dir="$DOCKER_VPP_DIR/build/external" + [ -d "$vpp_ext_dir/downloads" ] \ + && rsync -ac $vpp_ext_dir/downloads/. $DOCKER_DOWNLOADS_DIR + [ -n "$(ls $vpp_ext_dir/*.deb)" ] \ + && rsync -ac $vpp_ext_dir/*.deb $DOCKER_DOWNLOADS_DIR + [ -n "$(ls $vpp_ext_dir/*.rpm)" ] \ + && rsync -ac $vpp_ext_dir/*.rpm $DOCKER_DOWNLOADS_DIR + set -e + + # Install/cache python packages + if [ "$OS_ID" = "ubuntu" ] ; then + make_vpp_test "test-dep" $branch + make_vpp_test "doc" $branch + make_vpp test-wipe $branch + make_vpp "bootstrap-doxygen" $branch + fi + + # Dump packages installed + case "$DOCKERFILE_FROM" in + *ubuntu*) + dump_apt_package_list $branch ;; + *debian*) + dump_apt_package_list $branch ;; + *centos:7) + dump_yum_package_list $branch ;; + *centos:8) + dump_dnf_package_list $branch ;; + esac +done + +echo_log -e "Completed $(basename $0)!\n\n==========" |