Skip to content

Commit ebbc897

Browse files
committed
DLPX-88225 Automated hotfix process leads to hotfix branch engine version always being set as latest engine version
TOOL-23229 Improvements to masking/containerized-masking/virtualization linux-pkg handling PR URL: https://www.github.com/delphix/linux-pkg/pull/304
1 parent 6fb4adb commit ebbc897

File tree

4 files changed

+71
-86
lines changed

4 files changed

+71
-86
lines changed

lib/common.sh

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
export _RET
1919
export _RET_LIST
20+
export _SECRET_BUILD_ARGS
2021
export DEBIAN_FRONTEND=noninteractive
2122

2223
export SUPPORTED_KERNEL_FLAVORS="generic aws gcp azure oracle"
@@ -1282,3 +1283,45 @@ function store_build_info() {
12821283
logmust cp "$TOP/PACKAGE_MIRROR_URL_SECONDARY" "$WORKDIR/artifacts/"
12831284
fi
12841285
}
1286+
1287+
function fetch_secret_build_args() {
1288+
_SECRET_BUILD_ARGS=()
1289+
1290+
# Here we check for whether the environment variables are set and pass them along. We check for
1291+
# existence instead of emptiness to avoid adding a layer of interpretation.
1292+
1293+
# We use parameter expansion in the form of ${variable+nothing} which evaluates to the variable
1294+
# 'nothing' if 'variable' is not set. Because 'nothing' is not defined it evaluates to "" when 'variable'
1295+
# is not set. So [[ "" ]] is what is actually evaluated when 'variable' is not set.
1296+
1297+
if [[ ${SECRET_DB_USE_JUMPBOX+nothing} ]]; then
1298+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_USE_JUMPBOX=$SECRET_DB_USE_JUMPBOX")
1299+
fi
1300+
1301+
if [[ ${SECRET_DB_JUMP_BOX_HOST+nothing} ]]; then
1302+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_JUMP_BOX_HOST=$SECRET_DB_JUMP_BOX_HOST")
1303+
fi
1304+
1305+
if [[ ${SECRET_DB_JUMP_BOX_USER+nothing} ]]; then
1306+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_JUMP_BOX_USER=$SECRET_DB_JUMP_BOX_USER")
1307+
fi
1308+
1309+
if [[ ${SECRET_DB_JUMP_BOX_PRIVATE_KEY+nothing} ]]; then
1310+
if [[ ! -f "$SECRET_DB_JUMP_BOX_PRIVATE_KEY" ]]; then
1311+
die "Jumpbox private key not found."
1312+
fi
1313+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_JUMP_BOX_PRIVATE_KEY=$SECRET_DB_JUMP_BOX_PRIVATE_KEY")
1314+
fi
1315+
1316+
if [[ ${SECRET_DB_AWS_ENDPOINT+nothing} ]]; then
1317+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_AWS_ENDPOINT=$SECRET_DB_AWS_ENDPOINT")
1318+
fi
1319+
1320+
if [[ ${SECRET_DB_AWS_PROFILE+nothing} ]]; then
1321+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_AWS_PROFILE=$SECRET_DB_AWS_PROFILE")
1322+
fi
1323+
1324+
if [[ ${SECRET_DB_AWS_REGION+nothing} ]]; then
1325+
_SECRET_BUILD_ARGS+=("-DSECRET_DB_AWS_REGION=$SECRET_DB_AWS_REGION")
1326+
fi
1327+
}

packages/containerized-masking/config.sh

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
# only works with packages that are included in the appliance, which this one
2525
# isn't.
2626
#
27+
28+
source "../../lib/common.sh"
29+
2730
DEFAULT_PACKAGE_GIT_URL="https://github.com/delphix/dms-core-gate.git"
2831

2932
PACKAGE_DEPENDENCIES="adoptopenjdk"
@@ -40,35 +43,20 @@ function build() {
4043

4144
logmust cd "$WORKDIR/repo"
4245

43-
if [[ "$SECRET_DB_AWS_ENDPOINT" ]]; then
44-
export SECRET_DB_AWS_ENDPOINT="$SECRET_DB_AWS_ENDPOINT"
45-
fi
46+
local args=()
4647

47-
# Using secrets proxy
48-
if [[ "$SECRET_DB_USE_JUMPBOX" ]]; then
49-
export SECRET_DB_USE_JUMPBOX="$SECRET_DB_USE_JUMPBOX"
50-
fi
51-
if [[ "$SECRET_DB_JUMP_BOX_HOST" ]]; then
52-
export SECRET_DB_JUMP_BOX_HOST="$SECRET_DB_JUMP_BOX_HOST"
53-
fi
54-
if [[ "$SECRET_DB_JUMP_BOX_USER" ]]; then
55-
export SECRET_DB_JUMP_BOX_USER="$SECRET_DB_JUMP_BOX_USER"
56-
fi
57-
if [[ "$SECRET_DB_JUMP_BOX_PRIVATE_KEY" ]]; then
58-
export SECRET_DB_JUMP_BOX_PRIVATE_KEY="$SECRET_DB_JUMP_BOX_PRIVATE_KEY"
59-
fi
48+
fetch_secret_build_args
49+
args+=(${_SECRET_BUILD_ARGS[@]})
6050

61-
# Using master/eng-secret-user
62-
if [[ "$SECRET_DB_AWS_PROFILE" ]]; then
63-
export SECRET_DB_AWS_PROFILE="$SECRET_DB_AWS_PROFILE"
64-
fi
65-
if [[ "$SECRET_DB_AWS_REGION" ]]; then
66-
export SECRET_DB_AWS_REGION="$SECRET_DB_AWS_REGION"
51+
args+=("-Porg.gradle.configureondemand=false")
52+
args+=("-PenvironmentName=linuxappliance")
53+
54+
if [[ "$DELPHIX_RELEASE_VERSION" ]]; then
55+
args+=("-PmaskingVer=$DELPHIX_RELEASE_VERSION")
6756
fi
6857

6958
logmust ./gradlew --no-daemon --stacktrace \
70-
-Porg.gradle.configureondemand=false \
71-
-PenvironmentName=linuxappliance \
59+
"${args[@]}" \
7260
:tools:docker:packageMaskingKubernetes
7361

7462
logmust cp -v tools/docker/build/masking-kubernetes*.zip \

packages/masking/config.sh

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#
1717
# shellcheck disable=SC2034
1818

19+
source "../../lib/common.sh"
20+
1921
DEFAULT_PACKAGE_GIT_URL="https://github.com/delphix/dms-core-gate.git"
2022
PACKAGE_DEPENDENCIES="adoptopenjdk"
2123

@@ -43,35 +45,20 @@ function build() {
4345
'{ "dms-core-gate" : { "git-hash" : $h, "date": $d }}' \
4446
>"$WORKDIR/artifacts/metadata.json"
4547

46-
if [[ "$SECRET_DB_AWS_ENDPOINT" ]]; then
47-
export SECRET_DB_AWS_ENDPOINT="$SECRET_DB_AWS_ENDPOINT"
48-
fi
48+
local args=()
4949

50-
# Using secrets proxy
51-
if [[ "$SECRET_DB_USE_JUMPBOX" ]]; then
52-
export SECRET_DB_USE_JUMPBOX="$SECRET_DB_USE_JUMPBOX"
53-
fi
54-
if [[ "$SECRET_DB_JUMP_BOX_HOST" ]]; then
55-
export SECRET_DB_JUMP_BOX_HOST="$SECRET_DB_JUMP_BOX_HOST"
56-
fi
57-
if [[ "$SECRET_DB_JUMP_BOX_USER" ]]; then
58-
export SECRET_DB_JUMP_BOX_USER="$SECRET_DB_JUMP_BOX_USER"
59-
fi
60-
if [[ "$SECRET_DB_JUMP_BOX_PRIVATE_KEY" ]]; then
61-
export SECRET_DB_JUMP_BOX_PRIVATE_KEY="$SECRET_DB_JUMP_BOX_PRIVATE_KEY"
62-
fi
50+
fetch_secret_build_args
51+
args+=(${_SECRET_BUILD_ARGS[@]})
52+
53+
args+=("-Porg.gradle.configureondemand=false")
54+
args+=("-PenvironmentName=linuxappliance")
6355

64-
# Using master/eng-secret-user
65-
if [[ "$SECRET_DB_AWS_PROFILE" ]]; then
66-
export SECRET_DB_AWS_PROFILE="$SECRET_DB_AWS_PROFILE"
56+
if [[ "$DELPHIX_RELEASE_VERSION" ]]; then
57+
args+=("-PmaskingVer=$DELPHIX_RELEASE_VERSION")
6758
fi
68-
if [[ "$SECRET_DB_AWS_REGION" ]]; then
69-
export SECRET_DB_AWS_REGION="$SECRET_DB_AWS_REGION"
70-
fi
71-
59+
7260
logmust ./gradlew --no-daemon --stacktrace \
73-
-Porg.gradle.configureondemand=false \
74-
-PenvironmentName=linuxappliance \
61+
"${args[@]}" \
7562
clean \
7663
generateLicenseReport \
7764
:dist:distDeb \

packages/virtualization/config.sh

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#
1717
# shellcheck disable=SC2034
1818

19+
source "../../lib/common.sh"
20+
1921
DEFAULT_PACKAGE_GIT_URL="https://github.com/delphix/dlpx-app-gate.git"
2022
PACKAGE_DEPENDENCIES="adoptopenjdk crypt-blowfish host-jdks"
2123

@@ -59,46 +61,11 @@ function build() {
5961

6062
local args=()
6163

62-
# Here we check for whether the environment variables are set and pass them along. We check for
63-
# existence instead of emptiness to avoid adding a layer of interpretation.
64-
65-
# We use parameter expansion in the form of ${variable+nothing} which evaluates to the variable
66-
# 'nothing' if 'variable' is not set. Because 'nothing' is not defined it evaluates to "" when 'variable'
67-
# is not set. So [[ "" ]] is what is actually evaluated when 'variable' is not set.
64+
fetch_secret_build_args
65+
args+=(${_SECRET_BUILD_ARGS[@]})
6866

6967
args+=("-Dbuild.branch=$DEFAULT_GIT_BRANCH")
7068

71-
if [[ ${SECRET_DB_USE_JUMPBOX+nothing} ]]; then
72-
args+=("-DSECRET_DB_USE_JUMPBOX=$SECRET_DB_USE_JUMPBOX")
73-
fi
74-
75-
if [[ ${SECRET_DB_JUMP_BOX_HOST+nothing} ]]; then
76-
args+=("-DSECRET_DB_JUMP_BOX_HOST=$SECRET_DB_JUMP_BOX_HOST")
77-
fi
78-
79-
if [[ ${SECRET_DB_JUMP_BOX_USER+nothing} ]]; then
80-
args+=("-DSECRET_DB_JUMP_BOX_USER=$SECRET_DB_JUMP_BOX_USER")
81-
fi
82-
83-
if [[ ${SECRET_DB_JUMP_BOX_PRIVATE_KEY+nothing} ]]; then
84-
if [[ ! -f "$SECRET_DB_JUMP_BOX_PRIVATE_KEY" ]]; then
85-
die "Jumpbox private key not found."
86-
fi
87-
args+=("-DSECRET_DB_JUMP_BOX_PRIVATE_KEY=$SECRET_DB_JUMP_BOX_PRIVATE_KEY")
88-
fi
89-
90-
if [[ ${SECRET_DB_AWS_ENDPOINT+nothing} ]]; then
91-
args+=("-DSECRET_DB_AWS_ENDPOINT=$SECRET_DB_AWS_ENDPOINT")
92-
fi
93-
94-
if [[ ${SECRET_DB_AWS_PROFILE+nothing} ]]; then
95-
args+=("-DSECRET_DB_AWS_PROFILE=$SECRET_DB_AWS_PROFILE")
96-
fi
97-
98-
if [[ ${SECRET_DB_AWS_REGION+nothing} ]]; then
99-
args+=("-DSECRET_DB_AWS_REGION=$SECRET_DB_AWS_REGION")
100-
fi
101-
10269
args+=("-Ddockerize=true")
10370
args+=("-DbuildJni=true")
10471

0 commit comments

Comments
 (0)