mirror of https://github.com/istio/istio.io.git
Automator: update common-files@master in istio/istio.io@master (#6811)
This commit is contained in:
parent
4188fc9c34
commit
81b5b3931b
102
Makefile
102
Makefile
|
@ -30,13 +30,103 @@ SHELL := /bin/bash
|
||||||
# figure out all the tools you need in your environment to make that work.
|
# figure out all the tools you need in your environment to make that work.
|
||||||
export BUILD_WITH_CONTAINER ?= 0
|
export BUILD_WITH_CONTAINER ?= 0
|
||||||
|
|
||||||
# Set up environment variables. Using a common script allows the script and makefile to re-use logic
|
# Name of build container image
|
||||||
$(shell mkdir -p out)
|
IMAGE_NAME ?= build-tools
|
||||||
$(shell $(PWD)/common/scripts/setup_env.sh)
|
|
||||||
|
# Version of image used within build container
|
||||||
|
IMAGE_VERSION ?= master-2020-03-05T18-27-04
|
||||||
|
|
||||||
|
LOCAL_ARCH := $(shell uname -m)
|
||||||
|
ifeq ($(LOCAL_ARCH),x86_64)
|
||||||
|
TARGET_ARCH ?= amd64
|
||||||
|
else ifeq ($(shell echo $(LOCAL_ARCH) | head -c 5),armv8)
|
||||||
|
TARGET_ARCH ?= arm64
|
||||||
|
else ifeq ($(LOCAL_ARCH),aarch64)
|
||||||
|
TARGET_ARCH ?= arm64
|
||||||
|
else ifeq ($(shell echo $(LOCAL_ARCH) | head -c 4),armv)
|
||||||
|
TARGET_ARCH ?= arm
|
||||||
|
else
|
||||||
|
$(error This system's architecture $(LOCAL_ARCH) isn't supported)
|
||||||
|
endif
|
||||||
|
|
||||||
|
LOCAL_OS := $(shell uname)
|
||||||
|
ifeq ($(LOCAL_OS),Linux)
|
||||||
|
TARGET_OS ?= linux
|
||||||
|
READLINK_FLAGS="-f"
|
||||||
|
else ifeq ($(LOCAL_OS),Darwin)
|
||||||
|
TARGET_OS ?= darwin
|
||||||
|
READLINK_FLAGS=""
|
||||||
|
else
|
||||||
|
$(error This system's OS $(LOCAL_OS) isn't supported)
|
||||||
|
endif
|
||||||
|
|
||||||
|
export TARGET_OUT ?= $(shell pwd)/out/$(TARGET_OS)_$(TARGET_ARCH)
|
||||||
|
export TARGET_OUT_LINUX ?= $(shell pwd)/out/linux_amd64
|
||||||
|
|
||||||
ifeq ($(BUILD_WITH_CONTAINER),1)
|
ifeq ($(BUILD_WITH_CONTAINER),1)
|
||||||
|
export TARGET_OUT = /work/out/$(TARGET_OS)_$(TARGET_ARCH)
|
||||||
|
export TARGET_OUT_LINUX = /work/out/linux_amd64
|
||||||
|
CONTAINER_CLI ?= docker
|
||||||
|
DOCKER_SOCKET_MOUNT ?= -v /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
IMG ?= gcr.io/istio-testing/$(IMAGE_NAME):$(IMAGE_VERSION)
|
||||||
|
UID = $(shell id -u)
|
||||||
|
GID = `grep '^docker:' /etc/group | cut -f3 -d:`
|
||||||
|
PWD = $(shell pwd)
|
||||||
|
|
||||||
RUN = ./common/scripts/run.sh
|
$(info If you suffer an unexpected failure, please reference: https://github.com/istio/istio/wiki/Troubleshooting-Development-Environment)
|
||||||
|
$(info Building with the build container: $(IMG).)
|
||||||
|
|
||||||
|
# Determine the timezone across various platforms to pass into the
|
||||||
|
# docker run operation. This operation assumes zoneinfo is within
|
||||||
|
# the path of the file.
|
||||||
|
TIMEZONE=`readlink $(READLINK_FLAGS) /etc/localtime | sed -e 's/^.*zoneinfo\///'`
|
||||||
|
|
||||||
|
# Determine the docker.push credential bind mounts.
|
||||||
|
# Docker and GCR are supported credentials. At this time docker.push may
|
||||||
|
# not work well on Docker-For-Mac. This will be handled in a follow-up PR.
|
||||||
|
CONDITIONAL_HOST_MOUNTS:=
|
||||||
|
|
||||||
|
ifneq (,$(wildcard $(HOME)/.docker))
|
||||||
|
$(info Using docker credential directory $(HOME)/.docker.)
|
||||||
|
CONDITIONAL_HOST_MOUNTS+=--mount type=bind,source="$(HOME)/.docker",destination="/config/.docker",readonly
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(wildcard $(HOME)/.config/gcloud))
|
||||||
|
$(info Using gcr credential directory $(HOME)/.config/gcloud.)
|
||||||
|
CONDITIONAL_HOST_MOUNTS+=--mount type=bind,source="$(HOME)/.config/gcloud",destination="/config/.config/gcloud",readonly
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(wildcard $(HOME)/.kube))
|
||||||
|
$(info Using local Kubernetes configuration $(HOME)/.kube)
|
||||||
|
CONDITIONAL_HOST_MOUNTS+=--mount type=bind,source="$(HOME)/.kube",destination="/home/.kube"
|
||||||
|
endif
|
||||||
|
|
||||||
|
ENV_VARS:=
|
||||||
|
ifdef HUB
|
||||||
|
ENV_VARS+=-e HUB="$(HUB)"
|
||||||
|
endif
|
||||||
|
ifdef TAG
|
||||||
|
ENV_VARS+=-e TAG="$(TAG)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
RUN = $(CONTAINER_CLI) run -t -i --sig-proxy=true -u $(UID):$(GID) --rm \
|
||||||
|
-e IN_BUILD_CONTAINER="$(BUILD_WITH_CONTAINER)" \
|
||||||
|
-e TZ="$(TIMEZONE)" \
|
||||||
|
-e TARGET_ARCH="$(TARGET_ARCH)" \
|
||||||
|
-e TARGET_OS="$(TARGET_OS)" \
|
||||||
|
-e TARGET_OUT="$(TARGET_OUT)" \
|
||||||
|
-e TARGET_OUT_LINUX="$(TARGET_OUT_LINUX)" \
|
||||||
|
-e USER="${USER}" \
|
||||||
|
-e IMAGE_VERSION="$(IMAGE_VERSION)" \
|
||||||
|
$(ENV_VARS) \
|
||||||
|
-v /etc/passwd:/etc/passwd:ro \
|
||||||
|
$(DOCKER_SOCKET_MOUNT) \
|
||||||
|
$(CONTAINER_OPTIONS) \
|
||||||
|
--mount type=bind,source="$(PWD)",destination="/work" \
|
||||||
|
--mount type=volume,source=go,destination="/go" \
|
||||||
|
--mount type=volume,source=gocache,destination="/gocache" \
|
||||||
|
$(CONDITIONAL_HOST_MOUNTS) \
|
||||||
|
-w /work $(IMG)
|
||||||
|
|
||||||
MAKE = $(RUN) make --no-print-directory -e -f Makefile.core.mk
|
MAKE = $(RUN) make --no-print-directory -e -f Makefile.core.mk
|
||||||
|
|
||||||
|
@ -46,13 +136,11 @@ MAKE = $(RUN) make --no-print-directory -e -f Makefile.core.mk
|
||||||
default:
|
default:
|
||||||
@$(MAKE)
|
@$(MAKE)
|
||||||
|
|
||||||
shell:
|
|
||||||
@$(RUN) /bin/bash
|
|
||||||
|
|
||||||
.PHONY: default
|
.PHONY: default
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
$(info Building with your local toolchain.)
|
||||||
export GOBIN ?= $(GOPATH)/bin
|
export GOBIN ?= $(GOPATH)/bin
|
||||||
include Makefile.core.mk
|
include Makefile.core.mk
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
dfe763eb1963f7e1205625405693c532a60f6f51
|
35fd5021dab786eee474ffc5cb9bddfc3949d316
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY
|
|
||||||
#
|
|
||||||
# The original version of this file is located in the https://github.com/istio/common-files repo.
|
|
||||||
# If you're looking at this file in a different repo and want to make a change, please go to the
|
|
||||||
# common-files repo, make the change there and check it in. Then come back to this repo and run
|
|
||||||
# "make update-common".
|
|
||||||
|
|
||||||
# Copyright Istio 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.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
WD=$(dirname "$0")
|
|
||||||
WD=$(cd "$WD"; pwd)
|
|
||||||
|
|
||||||
# shellcheck disable=SC1090
|
|
||||||
source "${WD}/setup_env.sh"
|
|
||||||
|
|
||||||
# Override variables with container specific
|
|
||||||
export TARGET_OUT=${CONTAINER_TARGET_OUT}
|
|
||||||
export TARGET_OUT_LINUX=${CONTAINER_TARGET_OUT_LINUX}
|
|
||||||
|
|
||||||
# $CONTAINER_OPTIONS becomes an empty arg when quoted, so SC2086 is disabled for the
|
|
||||||
# following command only
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
"${CONTAINER_CLI}" run -it --rm \
|
|
||||||
-u "${UID}:${DOCKER_GID}" \
|
|
||||||
--sig-proxy=true \
|
|
||||||
${DOCKER_SOCKET_MOUNT:--v /var/run/docker.sock:/var/run/docker.sock} \
|
|
||||||
-v /etc/passwd:/etc/passwd:ro \
|
|
||||||
-v /etc/group:/etc/group:ro \
|
|
||||||
$CONTAINER_OPTIONS \
|
|
||||||
--env-file <(env | grep -v ${ENV_BLOCKLIST}) \
|
|
||||||
-e IN_BUILD_CONTAINER=1 \
|
|
||||||
-e TZ="${TIMEZONE:-$TZ}" \
|
|
||||||
--mount "type=bind,source=${PWD},destination=/work" \
|
|
||||||
--mount "type=volume,source=go,destination=/go" \
|
|
||||||
--mount "type=volume,source=gocache,destination=/gocache" \
|
|
||||||
${CONDITIONAL_HOST_MOUNTS} \
|
|
||||||
-w /work "${IMG}" "$@"
|
|
|
@ -1,88 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY
|
|
||||||
#
|
|
||||||
# The original version of this file is located in the https://github.com/istio/common-files repo.
|
|
||||||
# If you're looking at this file in a different repo and want to make a change, please go to the
|
|
||||||
# common-files repo, make the change there and check it in. Then come back to this repo and run
|
|
||||||
# "make update-common".
|
|
||||||
|
|
||||||
# Copyright Istio 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.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
LOCAL_ARCH=$(uname -m)
|
|
||||||
export LOCAL_ARCH
|
|
||||||
if [[ ${LOCAL_ARCH} == x86_64 ]]; then
|
|
||||||
export TARGET_ARCH=amd64
|
|
||||||
elif [[ ${LOCAL_ARCH} == armv8* ]]; then
|
|
||||||
export TARGET_ARCH=arm64
|
|
||||||
elif [[ ${LOCAL_ARCH} == aarch64* ]]; then
|
|
||||||
export TARGET_ARCH=arm64
|
|
||||||
elif [[ ${LOCAL_ARCH} == armv* ]]; then
|
|
||||||
export TARGET_ARCH=arm
|
|
||||||
else
|
|
||||||
echo "This system's architecture, ${LOCAL_ARCH}, isn't supported"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
LOCAL_OS=$(uname)
|
|
||||||
export LOCAL_OS
|
|
||||||
if [[ $LOCAL_OS == Linux ]]; then
|
|
||||||
export TARGET_OS=linux
|
|
||||||
readlink_flags="-f"
|
|
||||||
elif [[ $LOCAL_OS == Darwin ]]; then
|
|
||||||
export TARGET_OS=darwin
|
|
||||||
readlink_flags=""
|
|
||||||
else
|
|
||||||
echo "This system's OS, $LOCAL_OS, isn't supported"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build image to use
|
|
||||||
export IMAGE_VERSION=master-2020-03-05T18-27-04
|
|
||||||
|
|
||||||
export UID
|
|
||||||
DOCKER_GID=$(grep '^docker:' /etc/group | cut -f3 -d:)
|
|
||||||
export DOCKER_GID
|
|
||||||
|
|
||||||
TIMEZONE=$(readlink $readlink_flags /etc/localtime | sed -e 's/^.*zoneinfo\///')
|
|
||||||
export TIMEZONE
|
|
||||||
|
|
||||||
export TARGET_OUT="${TARGET_OUT:-${PWD}/out/${TARGET_OS}_${TARGET_ARCH}}"
|
|
||||||
export TARGET_OUT_LINUX="${TARGET_OUT_LINUX:-${PWD}/out/linux_amd64}"
|
|
||||||
|
|
||||||
export CONTAINER_TARGET_OUT="${CONTAINER_TARGET_OUT:-/work/out/${TARGET_OS}_${TARGET_ARCH}}"
|
|
||||||
export CONTAINER_TARGET_OUT_LINUX="${CONTAINER_TARGET_OUT_LINUX:-/work/out/linux_amd64}"
|
|
||||||
|
|
||||||
export IMG="${IMG:-gcr.io/istio-testing/build-tools:${IMAGE_VERSION}}"
|
|
||||||
|
|
||||||
export CONTAINER_CLI="${CONTAINER_CLI:-docker}"
|
|
||||||
|
|
||||||
export ENV_BLOCKLIST="${ENV_BLOCKLIST:-^_\|PATH\|SHELL\|EDITOR\|TMUX\|USER\|HOME\|PWD\|TERM\|GO\|rvm\|SSH}"
|
|
||||||
|
|
||||||
# Set up conditional host mounts for docker and kubernetes config
|
|
||||||
export CONDITIONAL_HOST_MOUNTS=${CONDITIONAL_HOST_MOUNTS:-}
|
|
||||||
if [[ -d "${HOME}/.docker" ]]; then
|
|
||||||
CONDITIONAL_HOST_MOUNTS+="--mount type=bind,source=${HOME}/.docker,destination=/config/.docker,readonly "
|
|
||||||
fi
|
|
||||||
if [[ -d "${HOME}/.config/gcloud" ]]; then
|
|
||||||
CONDITIONAL_HOST_MOUNTS+="--mount type=bind,source=${HOME}/.config/gcloud,destination=/config/.config/gcloud,readonly "
|
|
||||||
fi
|
|
||||||
if [[ -d "${HOME}/.kube" ]]; then
|
|
||||||
CONDITIONAL_HOST_MOUNTS+="--mount type=bind,source=${HOME}/.kube,destination=/home/.kube "
|
|
||||||
fi
|
|
||||||
|
|
||||||
export REPO_ROOT=/work
|
|
Loading…
Reference in New Issue