Skip to content

Commit fc1dae8

Browse files
authored
fix: update pipeline and dev scripts (#578)
* fix scripts for bottlecap dev * update `build_layer.sh` it doesnt need incoming suffix because layers only use architecture and alpine will never be available * rename `SUFFIX` to `FILE_SUFFIX` * update compile scripts to calculate `FILE_SUFFIX` * remove suffix for arch flavors * update pipeline to remove `suffix` usage * typo * bring back suffix we rely on alpine images :l * bring back `FILE_SUFFIX` check * remove appending `-alpine` programatically * pass `FILE_SUFFIX` to build * update path to the right one
1 parent b50f9da commit fc1dae8

File tree

9 files changed

+51
-52
lines changed

9 files changed

+51
-52
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ local_tests/serverless-init/logs.txt
2626
bottlecap/target
2727
bottlecap/proptest-regressions
2828

29-
.gitlab/pipeline-**
29+
.gitlab/pipeline*

.gitlab/scripts/build_layer.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ if [ -z "$ARCHITECTURE" ]; then
1212
exit 1
1313
fi
1414

15-
if [ -z "$SUFFIX" ]; then
16-
printf "No suffix provided, using ${ARCHITECTURE}\n"
17-
SUFFIX=$ARCHITECTURE
15+
if [ -z "$FILE_SUFFIX" ]; then
16+
printf "[WARNING] No FILE_SUFFIX provided, using ${ARCHITECTURE}\n"
17+
FILE_SUFFIX=$ARCHITECTURE
1818
fi
1919

2020
# Move into the root directory, so this script can be called from any directory
@@ -24,7 +24,7 @@ cd $ROOT_DIR
2424

2525
EXTENSION_DIR=".layers"
2626
TARGET_DIR=$(pwd)/$EXTENSION_DIR
27-
EXTENSION_PATH=$TARGET_DIR/datadog-extension-${SUFFIX}
27+
EXTENSION_PATH=$TARGET_DIR/datadog_extension-${FILE_SUFFIX}
2828

2929
mkdir -p $EXTENSION_DIR
3030
rm -rf ${EXTENSION_PATH} 2>/dev/null
@@ -35,13 +35,13 @@ docker_build() {
3535
local arch=$1
3636

3737
docker buildx build --platform linux/${arch} \
38-
-t datadog/build-extension-${SUFFIX} \
38+
-t datadog/build-extension-${FILE_SUFFIX} \
3939
-f ./images/Dockerfile.build_layer \
40-
--build-arg SUFFIX=$SUFFIX \
40+
--build-arg FILE_SUFFIX=$FILE_SUFFIX \
4141
. -o $EXTENSION_PATH
4242

43-
cp $EXTENSION_PATH/datadog_extension.zip $TARGET_DIR/datadog_extension-${SUFFIX}.zip
44-
unzip $EXTENSION_PATH/datadog_extension.zip -d $TARGET_DIR/datadog_extension-${SUFFIX}
43+
cp $EXTENSION_PATH/datadog_extension.zip $TARGET_DIR/datadog_extension-${FILE_SUFFIX}.zip
44+
unzip $EXTENSION_PATH/datadog_extension.zip -d $TARGET_DIR/datadog_extension-${FILE_SUFFIX}
4545
rm -rf ${EXTENSION_PATH}
4646
}
4747

.gitlab/scripts/compile_bottlecap.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ if [ -z "$ARCHITECTURE" ]; then
1212
exit 1
1313
fi
1414

15+
if [ -z "$FILE_SUFFIX" ]; then
16+
printf "[WARNING] No FILE_SUFFIX provided, using ${ARCHITECTURE}\n"
17+
FILE_SUFFIX=$ARCHITECTURE
18+
fi
19+
1520
if [ -z "$ALPINE" ]; then
1621
printf "[ERROR]: ALPINE not specified\n"
1722
exit 1
1823
else
1924
printf "Alpine compile requested: ${ALPINE}\n"
2025
fi
2126

22-
if [ -z "$SUFFIX" ]; then
23-
printf "No suffix provided, using ${ARCHITECTURE}\n"
24-
SUFFIX=$ARCHITECTURE
25-
fi
26-
2727
if [ "$ALPINE" = "0" ]; then
2828
COMPILE_IMAGE=Dockerfile.bottlecap.compile
2929
else
@@ -39,7 +39,7 @@ cd $ROOT_DIR
3939

4040
BINARY_DIR=".binaries"
4141
TARGET_DIR=$(pwd)/$BINARY_DIR
42-
BINARY_PATH=$TARGET_DIR/compiled-bottlecap-${SUFFIX}
42+
BINARY_PATH=$TARGET_DIR/compiled-bottlecap-$FILE_SUFFIX
4343

4444
mkdir -p $BINARY_DIR
4545

@@ -55,14 +55,14 @@ docker_build() {
5555
fi
5656

5757
docker buildx build --platform linux/${arch} \
58-
-t datadog/compile-bottlecap-${SUFFIX} \
58+
-t datadog/compile-bottlecap \
5959
-f ./images/${file} \
6060
--build-arg PLATFORM=$PLATFORM \
6161
. -o $BINARY_PATH
6262

6363
# Copy the compiled binary to the target directory with the expected name
6464
# If it already exist, it will be replaced
65-
cp $BINARY_PATH/bottlecap $TARGET_DIR/bottlecap-${SUFFIX}
65+
cp $BINARY_PATH/bottlecap $TARGET_DIR/bottlecap-$FILE_SUFFIX
6666
}
6767

6868
docker_build $ARCHITECTURE $COMPILE_IMAGE

.gitlab/scripts/compile_go_agent.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ if [ -z "$ARCHITECTURE" ]; then
1212
exit 1
1313
fi
1414

15+
if [ -z "$FILE_SUFFIX" ]; then
16+
printf "[WARNING] No FILE_SUFFIX provided, using ${ARCHITECTURE}\n"
17+
FILE_SUFFIX=$ARCHITECTURE
18+
fi
19+
1520
if [ -z "$AGENT_VERSION" ]; then
1621
printf "[ERROR]: AGENT_VERSION not specified\n"
1722
exit 1
@@ -44,11 +49,6 @@ else
4449
COMPILE_IMAGE=Dockerfile.go_agent.alpine.compile
4550
fi
4651

47-
if [ -z "$SUFFIX" ]; then
48-
printf "No suffix provided, using ${ARCHITECTURE}\n"
49-
SUFFIX=$ARCHITECTURE
50-
fi
51-
5252
# Allow override build tags
5353
if [ -z "$BUILD_TAGS" ]; then
5454
BUILD_TAGS="serverless otlp"
@@ -63,7 +63,7 @@ MAIN_DIR=$(pwd) # datadog-lambda-extension
6363

6464
BINARY_DIR=".binaries"
6565
TARGET_DIR=$MAIN_DIR/$BINARY_DIR
66-
BINARY_PATH=$TARGET_DIR/compiled-datadog-agent-${SUFFIX}
66+
BINARY_PATH=$TARGET_DIR/compiled-datadog-agent-$FILE_SUFFIX
6767

6868
mkdir -p $BINARY_DIR
6969

@@ -84,7 +84,7 @@ function docker_compile {
8484
file=$2
8585

8686
docker buildx build --platform linux/${arch} \
87-
-t datadog/compile-go-agent-${SUFFIX}:${VERSION} \
87+
-t datadog/compile-go-agent:${VERSION} \
8888
-f ${MAIN_DIR}/images/${file} \
8989
--build-arg EXTENSION_VERSION="${VERSION}" \
9090
--build-arg AGENT_VERSION="${AGENT_VERSION}" \
@@ -93,7 +93,7 @@ function docker_compile {
9393

9494
# Copy the compiled binary to the target directory with the expected name
9595
# If it already exist, it will be replaced
96-
cp $BINARY_PATH/datadog-agent $TARGET_DIR/datadog-agent-${SUFFIX}
96+
cp $BINARY_PATH/datadog-agent $TARGET_DIR/datadog-agent-$FILE_SUFFIX
9797
}
9898

9999
docker_compile $ARCHITECTURE $COMPILE_IMAGE

.gitlab/templates/pipeline.yaml.tpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ go agent ({{ $flavor.name }}):
5858
variables:
5959
ARCHITECTURE: {{ $flavor.arch }}
6060
ALPINE: {{ $flavor.alpine }}
61-
SUFFIX: {{ $flavor.suffix }}
61+
FILE_SUFFIX: {{ $flavor.suffix }}
6262
script:
6363
- echo "Building go agent based on $AGENT_BRANCH"
6464
# TODO: do this clone once in a separate job so that we can make sure that
@@ -79,7 +79,7 @@ bottlecap ({{ $flavor.name }}):
7979
variables:
8080
ARCHITECTURE: {{ $flavor.arch }}
8181
ALPINE: {{ $flavor.alpine }}
82-
SUFFIX: {{ $flavor.suffix }}
82+
FILE_SUFFIX: {{ $flavor.suffix }}
8383
script:
8484
- .gitlab/scripts/compile_bottlecap.sh
8585

@@ -103,7 +103,7 @@ layer ({{ $flavor.name }}):
103103
- .layers/datadog_extension-{{ $flavor.suffix }}/*
104104
variables:
105105
ARCHITECTURE: {{ $flavor.arch }}
106-
SUFFIX: {{ $flavor.suffix }}
106+
FILE_SUFFIX: {{ $flavor.suffix }}
107107
script:
108108
- .gitlab/scripts/build_layer.sh
109109

images/Dockerfile.bottlecap.dev

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FROM ubuntu:22.04 AS compresser
2-
ARG SUFFIX
2+
ARG FILE_SUFFIX
33

44
RUN apt-get update && apt-get install -y zip binutils
55

@@ -8,7 +8,7 @@ COPY --from=public.ecr.aws/datadog/lambda-extension:latest /opt/datadog-agent-go
88
RUN mkdir /extensions
99
WORKDIR /extensions
1010

11-
COPY .binaries/bottlecap-${SUFFIX} /extensions/datadog-agent
11+
COPY .binaries/bottlecap-${FILE_SUFFIX} /extensions/datadog-agent
1212
COPY ./scripts/datadog_wrapper /datadog_wrapper
1313
RUN chmod +x /datadog_wrapper
1414
RUN zip -r datadog_extension.zip /extensions /datadog_wrapper /datadog-agent-go

images/Dockerfile.build_layer

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
FROM ubuntu:22.04 AS compresser
22
ARG DATADOG_WRAPPER=datadog_wrapper
3-
ARG SUFFIX
3+
ARG FILE_SUFFIX
44

55
# Install dependencies
66
RUN apt-get update
77
RUN apt-get install -y zip binutils
88

99
# Copy Go Agent binary
10-
COPY .binaries/datadog-agent-$SUFFIX /datadog-agent-go
10+
COPY .binaries/datadog-agent-$FILE_SUFFIX /datadog-agent-go
1111

1212
# UPX compress on x86_64
1313
RUN if [ "$PLATFORM" = "x86_64" ]; then apt-get install -y upx=3.96-r0 && upx -1 /datadog-agent-go; fi
@@ -16,7 +16,7 @@ RUN mkdir /extensions
1616
WORKDIR /extensions
1717

1818
# Copy Rust Agent binary
19-
COPY .binaries/bottlecap-$SUFFIX /extensions/datadog-agent
19+
COPY .binaries/bottlecap-$FILE_SUFFIX /extensions/datadog-agent
2020

2121
# Copy wrapper script
2222
COPY ./scripts/$DATADOG_WRAPPER /$DATADOG_WRAPPER

scripts/build_bottlecap_layer.sh

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ if [ -z "$ARCHITECTURE" ]; then
1717
exit 1
1818
fi
1919

20-
if [ -z "$SUFFIX" ]; then
21-
printf "No suffix provided, using ${ARCHITECTURE}\n"
22-
SUFFIX=$ARCHITECTURE
23-
fi
20+
FILE_SUFFIX=$ARCHITECTURE
2421

2522
PLATFORM="aarch64"
2623
if [ "$ARCHITECTURE" == "amd64" ]; then
@@ -31,19 +28,25 @@ SCRIPTS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
3128
ROOT_DIR=$SCRIPTS_DIR/..
3229
cd $ROOT_DIR
3330

34-
EXTENSION_DIR=".layers"
35-
EXTENSION_PATH=$ROOT_DIR/$EXTENSION_DIR
31+
LAYERS_DIR=".layers"
32+
BUILD_DIR=$ROOT_DIR/$LAYERS_DIR
33+
EXTENSION_PATH=$BUILD_DIR/datadog_extension-$FILE_SUFFIX
34+
35+
mkdir -p $LAYERS_DIR
36+
rm -rf ${EXTENSION_PATH} 2>/dev/null
37+
38+
cd $ROOT_DIR
3639

3740
ALPINE=0
38-
ARCHITECTURE=$ARCHITECTURE ALPINE=$ALPINE .gitlab/scripts/compile_bottlecap.sh
41+
ARCHITECTURE=$ARCHITECTURE ALPINE=$ALPINE FILE_SUFFIX=$FILE_SUFFIX .gitlab/scripts/compile_bottlecap.sh
3942

4043
docker buildx build --platform linux/${ARCHITECTURE} \
41-
-t datadog/build-bottlecap-${SUFFIX} \
44+
-t datadog/build-bottlecap-${FILE_SUFFIX} \
4245
-f ./images/Dockerfile.bottlecap.dev \
43-
--build-arg SUFFIX=$SUFFIX \
44-
. -o $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}
46+
--build-arg FILE_SUFFIX=$FILE_SUFFIX \
47+
. -o $EXTENSION_PATH
4548

46-
cp $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}/datadog_extension.zip $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}.zip
49+
cp $EXTENSION_PATH/datadog_extension.zip $EXTENSION_PATH.zip
4750

48-
unzip $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}/datadog_extension.zip -d $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}
49-
rm -rf $EXTENSION_PATH/datadog_bottlecap-${SUFFIX}/datadog_extension.zip
51+
unzip $EXTENSION_PATH/datadog_extension.zip -d $EXTENSION_PATH
52+
rm -rf $EXTENSION_PATH/datadog_extension.zip

scripts/publish_bottlecap_sandbox.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ set -e
1717
_init_arg(){
1818
if [ "$ARCHITECTURE" == "amd64" ]; then
1919
echo "Publishing for amd64 only"
20-
LAYER_PATH=".layers/datadog_bottlecap-amd64.zip"
20+
LAYER_PATH=".layers/datadog_extension-amd64.zip"
2121
LAYER_NAME="Datadog-Bottlecap-Beta"
2222
elif [ "$ARCHITECTURE" == "arm64" ]; then
2323
echo "Publishing for arm64 only"
24-
LAYER_PATH=".layers/datadog_bottlecap-arm64.zip"
24+
LAYER_PATH=".layers/datadog_extension-arm64.zip"
2525
LAYER_NAME="Datadog-Bottlecap-Beta-ARM"
2626
fi
2727
if [ -z $ARCHITECTURE ]; then
@@ -40,10 +40,6 @@ _init_arg(){
4040
}
4141

4242
publish(){
43-
# Move into the root directory
44-
SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
45-
cd $SCRIPTS_DIR/..
46-
4743
ARCHITECTURE=$ARCHITECTURE ./scripts/build_bottlecap_layer.sh
4844
NEW_VERSION=$(aws-vault exec sso-serverless-sandbox-account-admin -- aws lambda publish-layer-version --layer-name "${LAYER_NAME}" \
4945
--description "Datadog Bottlecap Beta" \

0 commit comments

Comments
 (0)