containerd/script/setup/install-runc
Phil Estes 74ceb35f50
Small fixes to our Actions CI workflow
Integration tests were running with latest Go release rather than the
version used everywhere else. Also, we don't need to install protoc from
tarball and also apt-get the package for Ubuntu when used as a
dependency for criu build.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2020-04-15 15:19:01 -04:00

48 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright The containerd Authors.
# 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.
#
# Builds and installs runc to /usr/local/go/bin based off
# the commit defined in vendor.conf
#
set -eu -o pipefail
function install_runc() {
RUNC_COMMIT=$(grep opencontainers/runc "$GOPATH"/src/github.com/containerd/containerd/vendor.conf | awk '{print $2}')
go get -d github.com/opencontainers/runc
cd "$GOPATH"/src/github.com/opencontainers/runc
git checkout $RUNC_COMMIT
make BUILDTAGS='apparmor seccomp selinux' runc
sudo make install
}
function install_crun() {
CRUN_VERSION=0.11
sudo curl -o /usr/local/sbin/runc -L https://github.com/containers/crun/releases/download/${CRUN_VERSION}/crun-${CRUN_VERSION}-static-$(uname -m)
sudo chmod +x /usr/local/sbin/runc
}
: ${RUNC_FLAVOR=runc}
case ${RUNC_FLAVOR} in
runc) install_runc ;;
crun) install_crun ;;
*)
echo >&2 "unknown runc flavor: ${RUNC_FLAVOR}"
exit 1
;;
esac