From 77740c2a807903eb0514ddf466f1a7b39ea0192e Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Wed, 22 Sep 2021 16:36:20 +0200 Subject: [PATCH] Add release script for specific targets Signed-off-by: Evan Lezar --- DEVELOPMENT.md | 2 +- .../{build-all.sh => build-all-components.sh} | 2 +- ...-versions.sh => get-component-versions.sh} | 0 scripts/release.sh | 56 +++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) rename scripts/{build-all.sh => build-all-components.sh} (98%) rename scripts/{get-versions.sh => get-component-versions.sh} (100%) create mode 100755 scripts/release.sh diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 8a784377..fda48e62 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -13,7 +13,7 @@ The `nvidia-container-toolkit` resides in this repo directly. In oder to build the packages, the following command is executed ```sh -./scripts/build-all.sh TARGET +./scripts/build-all-components.sh TARGET ``` where `TARGET` is a make target that is valid for each of the sub-components. diff --git a/scripts/build-all.sh b/scripts/build-all-components.sh similarity index 98% rename from scripts/build-all.sh rename to scripts/build-all-components.sh index 752211e4..528c2f3d 100755 --- a/scripts/build-all.sh +++ b/scripts/build-all-components.sh @@ -47,7 +47,7 @@ echo "Building ${TARGET} for all packages to ${DIST_DIR}" : ${NVIDIA_DOCKER_ROOT:=${PROJECT_ROOT}/third_party/nvidia-docker} -${SCRIPTS_DIR}/get-versions.sh +${SCRIPTS_DIR}/get-component-versions.sh # Build libnvidia-container make -C ${LIBNVIDIA_CONTAINER_ROOT} -f mk/docker.mk ${TARGET} diff --git a/scripts/get-versions.sh b/scripts/get-component-versions.sh similarity index 100% rename from scripts/get-versions.sh rename to scripts/get-component-versions.sh diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 00000000..56f7f8ca --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. +# +# 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. + +# This script is used to build the packages for the components of the NVIDIA +# Container Stack. These include the nvidia-container-toolkit in this repository +# as well as the components included in the third_party folder. +# All required packages are generated in the specified dist folder. + +set -e -x + +SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../scripts && pwd )" +PROJECT_ROOT="$( cd ${SCRIPTS_DIR}/.. && pwd )" + +# This list represents the distribution-architecture pairs that are actually published +# to the relevant repositories. This targets forwarded to the build-all-components script +# can be overridden by specifying command line arguments. +all=( + amazonlinux1-x86_64 + amazonlinux2-x86_64 + centos7-ppc64le + centos7-x86_64 + centos8-aarch64 + centos8-ppc64le + centos8-x86_64 + debian10-amd64 + debian9-amd64 + opensuse-leap15.1-x86_64 + ubuntu16.04-amd64 + ubuntu16.04-ppc64le + ubuntu18.04-amd64 + ubuntu18.04-arm64 + ubuntu18.04-ppc64le +) + +if [[ $# -gt 0 ]]; then + targets=($*) +else + targets=${all[@]} +fi + +for target in ${targets[@]}; do + ${SCRIPTS_DIR}/build-all-components.sh ${target} +done