Skip to content

Commit

Permalink
Deliver Cilium debug symbols as separate files
Browse files Browse the repository at this point in the history
  • Loading branch information
EricMountain committed Mar 6, 2024
1 parent 20a2e40 commit 680fdec
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,19 @@ build-docker-image-cilium:
CILIUM_RUNTIME_IMAGE=registry.ddbuild.io/cilium-runtime:$CI_COMMIT_TAG
CILIUM_BUILDER_IMAGE=registry.ddbuild.io/images/mirror/cilium/cilium-builder:f229913ec72a183640bd46d0dd0579ebea3bb1c6@sha256:6ec80f7123cbf83008420b34c458f2e18e2091a648c0926ae3a601820468d902
CILIUM_ENVOY_IMAGE=registry.ddbuild.io/images/mirror/cilium/cilium-envoy:v1.26-39dc41f86c465d2a2d16386339dc0bf4d425babc@sha256:e77adfe8a263fe4b8c56dcb9bd0f4d68bb36067602e7be1388528c02fb8765c5
NOSTRIP=1
TARGET: release
script:
- set -x
# Construct valid --build-args arguments from the DOCKER_BUILD_ARGS variable
- BUILD_ARGS=""; IFS=$'\n'; for arg in $DOCKER_BUILD_ARGS; do BUILD_ARGS+=" $(echo "--build-arg $arg")"; done; IFS=$' ';
- IMAGE_TAG="$CI_COMMIT_TAG"
- if [ "$TARGET" = "debug" ] ; then IMAGE_TAG="$IMAGE_TAG-debug" ; fi
- IMAGE_REF="registry.ddbuild.io/$IMAGE_NAME:$IMAGE_TAG"
- METADATA_FILE=$(mktemp)
- docker buildx build --platform linux/amd64,linux/arm64 --tag $IMAGE_REF --file $DOCKERFILE_PATH $BUILD_ARGS --label CILIUM_VERSION=$(cat VERSION) --label target=prod --target builder $DOCKER_CTX
- docker buildx build --platform linux/amd64,linux/arm64 --tag $IMAGE_REF --file $DOCKERFILE_PATH $BUILD_ARGS --label CILIUM_VERSION=$(cat VERSION) --label target=prod --target $TARGET --push --metadata-file $METADATA_FILE $DOCKER_CTX
- ddsign sign $IMAGE_REF --docker-metadata-file $METADATA_FILE

# Caveats:
# * The build image is single-arch amd64 and we're doing cross-compilation, so the dlv copy is only valid on amd64. In
Expand Down
9 changes: 9 additions & 0 deletions images/cilium/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ RUN --mount=type=bind,readwrite,target=/go/src/github.com/cilium/cilium --mount=
DESTDIR=/tmp/install/${TARGETOS}/${TARGETARCH} install-bash-completion licenses-all && \
mv LICENSE.all /tmp/install/${TARGETOS}/${TARGETARCH}/LICENSE.all

RUN cd /tmp/install/${TARGETOS}/${TARGETARCH} && \
S=/tmp/install/${TARGETOS}/${TARGETARCH} && \
D=/tmp/debug/${TARGETOS}/${TARGETARCH} && \
mkdir -p $D && \
find -type f \
-executable \
-exec sh -c \
'objcopy --only-keep-debug $0 $0.debug && objcopy --strip-debug $0 && objcopy --add-gnu-debuglink=$0.debug $0 && mkdir -p $D/$(dirname $0) && cp ${0}.debug $D/$0.debug' {} \;

COPY images/cilium/init-container.sh \
plugins/cilium-cni/cni-install.sh \
plugins/cilium-cni/install-plugin.sh \
Expand Down

0 comments on commit 680fdec

Please sign in to comment.