Commit b8be43a5 authored by Silvio Moioli's avatar Silvio Moioli Committed by Brad Davidson

Disable optimizations and symbol stripping on debug builds (#6147)

parent df28b12a
...@@ -45,7 +45,7 @@ ARG SELINUX=true ...@@ -45,7 +45,7 @@ ARG SELINUX=true
ENV SELINUX $SELINUX ENV SELINUX $SELINUX
ENV DAPPER_RUN_ARGS --privileged -v k3s-cache:/go/src/github.com/k3s-io/k3s/.cache -v trivy-cache:/root/.cache/trivy ENV DAPPER_RUN_ARGS --privileged -v k3s-cache:/go/src/github.com/k3s-io/k3s/.cache -v trivy-cache:/root/.cache/trivy
ENV DAPPER_ENV REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE SKIP_AIRGAP GCLOUD_AUTH GITHUB_TOKEN GOLANG ENV DAPPER_ENV REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE SKIP_AIRGAP GCLOUD_AUTH GITHUB_TOKEN GOLANG DEBUG
ENV DAPPER_SOURCE /go/src/github.com/k3s-io/k3s/ ENV DAPPER_SOURCE /go/src/github.com/k3s-io/k3s/
ENV DAPPER_OUTPUT ./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy ENV DAPPER_OUTPUT ./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy
......
...@@ -24,6 +24,11 @@ fi ...@@ -24,6 +24,11 @@ fi
CMD_NAME="dist/artifacts/k3s${BIN_SUFFIX}" CMD_NAME="dist/artifacts/k3s${BIN_SUFFIX}"
SIZE=$(stat -c '%s' ${CMD_NAME}) SIZE=$(stat -c '%s' ${CMD_NAME})
if [ -n "${DEBUG}" ]; then
echo "DEBUG is set, ignoring binary size"
exit 0
fi
if [ ${SIZE} -gt ${MAX_BINARY_SIZE} ]; then if [ ${SIZE} -gt ${MAX_BINARY_SIZE} ]; then
echo "k3s binary ${CMD_NAME} size ${SIZE} exceeds max acceptable size of ${MAX_BINARY_SIZE} bytes (${MAX_BINARY_MB} MiB)" echo "k3s binary ${CMD_NAME} size ${SIZE} exceeds max acceptable size of ${MAX_BINARY_SIZE} bytes (${MAX_BINARY_MB} MiB)"
exit 1 exit 1
......
...@@ -42,8 +42,12 @@ VERSIONFLAGS=" ...@@ -42,8 +42,12 @@ VERSIONFLAGS="
-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Commit=${COMMIT} -X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.Commit=${COMMIT}
-X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.buildDate=${buildDate} -X ${PKG_CNI_PLUGINS}/plugins/meta/flannel.buildDate=${buildDate}
" "
LDFLAGS="
-w -s" if [ -n "${DEBUG}" ]; then
GCFLAGS="-N -l"
else
LDFLAGS="-w -s"
fi
STATIC=" STATIC="
-extldflags '-static -lm -ldl -lz -lpthread' -extldflags '-static -lm -ldl -lz -lpthread'
...@@ -106,12 +110,12 @@ if [ ! -x ${INSTALLBIN}/cni ]; then ...@@ -106,12 +110,12 @@ if [ ! -x ${INSTALLBIN}/cni ]; then
WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins
git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR
cd $WORKDIR cd $WORKDIR
GO111MODULE=off GOPATH=$TMPDIR CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o $INSTALLBIN/cni GO111MODULE=off GOPATH=$TMPDIR CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -gcflags="all=${GCFLAGS}" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o $INSTALLBIN/cni
) )
fi fi
echo Building k3s echo Building k3s
CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s ./cmd/server/main.go CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -gcflags="all=${GCFLAGS}" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s ./cmd/server/main.go
ln -s k3s ./bin/k3s-agent ln -s k3s ./bin/k3s-agent
ln -s k3s ./bin/k3s-server ln -s k3s ./bin/k3s-server
ln -s k3s ./bin/k3s-etcd-snapshot ln -s k3s ./bin/k3s-etcd-snapshot
...@@ -127,14 +131,14 @@ export GOPATH=$(pwd)/build ...@@ -127,14 +131,14 @@ export GOPATH=$(pwd)/build
echo Building containerd echo Building containerd
pushd ./build/src/github.com/containerd/containerd pushd ./build/src/github.com/containerd/containerd
TAGS="${TAGS/netcgo/netgo}" TAGS="${TAGS/netcgo/netgo}"
CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -gcflags="all=${GCFLAGS}" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd
CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd-shim-runc-v2 ./cmd/containerd-shim-runc-v2 CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -gcflags="all=${GCFLAGS}" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd-shim-runc-v2 ./cmd/containerd-shim-runc-v2
popd popd
cp -vf ./build/src/github.com/containerd/containerd/bin/* ./bin/ cp -vf ./build/src/github.com/containerd/containerd/bin/* ./bin/
echo Building runc echo Building runc
pushd ./build/src/github.com/opencontainers/runc pushd ./build/src/github.com/opencontainers/runc
rm -f runc rm -f runc
make EXTRA_LDFLAGS="-w -s" BUILDTAGS="$RUNC_TAGS" $RUNC_STATIC make EXTRA_FLAGS="-gcflags=\"all=${GCFLAGS}\"" EXTRA_LDFLAGS="$LDFLAGS" BUILDTAGS="$RUNC_TAGS" $RUNC_STATIC
popd popd
cp -vf ./build/src/github.com/opencontainers/runc/runc ./bin/ cp -vf ./build/src/github.com/opencontainers/runc/runc ./bin/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment