Skip to content

Commit f379e0d

Browse files
sshelomentsevmkartashev
authored andcommitted
JBR-7867 Notarization scripts: fail build if signing of separate files are failed
1 parent c0982d1 commit f379e0d

3 files changed

Lines changed: 24 additions & 20 deletions

File tree

jb/project/tools/mac/scripts/codesign.sh

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,23 @@ else
3434
contentType=$(jetSignContentType "$pathToBeSigned")
3535
(
3636
cd "$workDir" || exit 1
37-
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
37+
38+
max_attempts=3
39+
attempt=1
40+
while [ $attempt -le $max_attempts ]; do
41+
if "$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"; then
42+
break
43+
else
44+
if [ $attempt -eq $max_attempts ]; then
45+
echo "Failed to sign after $max_attempts attempts"
46+
exit 1
47+
fi
48+
echo "Attempt $attempt failed, retrying in 5 seconds..."
49+
sleep 5
50+
((attempt++))
51+
fi
52+
done
53+
3854
# SRE-1223 (Codesign removes execute bits in executable files) workaround
3955
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
4056
if isMacOsBinary "$pathSigned"; then

jb/project/tools/mac/scripts/sign.sh

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ for f in \
4949
if [ -d "$APPLICATION_PATH/$f" ]; then
5050
find "$APPLICATION_PATH/$f" \
5151
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
52-
-exec "$SIGN_UTILITY" --timestamp \
53-
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
54-
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
52+
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
5553
fi
5654
done
5755

@@ -74,9 +72,7 @@ if [ -d "$JMODS_DIR" ]; then
7472
log "Signing dylibs in $TMP_DIR"
7573
find "$TMP_DIR" \
7674
-type f \( -name "*.dylib" -o -name "*.so"-o -perm +111 -o -name jarsigner -o -name jnativescan -o -name jdeps -o -name jpackageapplauncher -o -name jspawnhelper -o -name jar -o -name javap -o -name jdeprscan -o -name jfr -o -name rmiregistry -o -name java -o -name jhsdb -o -name jstatd -o -name jstatd -o -name jpackage -o -name keytool -o -name jmod -o -name jlink -o -name jimage -o -name jstack -o -name jcmd -o -name jps -o -name jmap -o -name jstat -o -name jinfo -o -name jshell -o -name jwebserver -o -name javac -o -name serialver -o -name jrunscript -o -name jdb -o -name jconsole -o -name javadoc \) \
77-
-exec "$SIGN_UTILITY" --timestamp \
78-
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
79-
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
75+
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
8076

8177
cmd="$JMOD_EXE create --class-path $TMP_DIR/classes"
8278

@@ -119,10 +115,7 @@ find "$APPLICATION_PATH" -name '*.jar' \
119115

120116
find jarfolder \
121117
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
122-
-exec "$SIGN_UTILITY" --timestamp \
123-
--force \
124-
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
125-
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
118+
-exec sh -c '"$1" --timestamp --force -v -s "$2" --options=runtime --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
126119

127120
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
128121
mv jar.jar "$file"
@@ -137,9 +130,7 @@ for f in \
137130
if [ -d "$APPLICATION_PATH/$f" ]; then
138131
find "$APPLICATION_PATH/$f" \
139132
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
140-
-exec "$SIGN_UTILITY" --timestamp \
141-
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
142-
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
133+
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
143134
fi
144135
done
145136

@@ -155,7 +146,7 @@ if [ "$JB_SIGN" = true ]; then for f in \
155146
"$SIGN_UTILITY" --timestamp \
156147
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
157148
--force \
158-
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
149+
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz || exit 1
159150
rm -rf "$line"
160151
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
161152
rm -f tmp-to-sign.tar.gz
@@ -181,15 +172,15 @@ if [ "$JB_SIGN" = true ]; then
181172
"$SIGN_UTILITY" --timestamp \
182173
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
183174
--force \
184-
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
175+
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz || exit 1
185176
rm -rf "$APPLICATION_PATH"
186177
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
187178
rm -f tmp-to-sign.tar.gz
188179
else
189180
"$SIGN_UTILITY" --timestamp \
190181
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
191182
--force \
192-
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH"
183+
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH" || exit 1
193184
fi
194185

195186
BUILD_NAME="$(basename "$APPLICATION_PATH")"

jb/project/tools/mac/scripts/signapp.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export COPYFILE_DISABLE=true
99

1010
INPUT_FILE=$1
1111
EXPLODED=$2.exploded
12-
BACKUP_JMODS=$2.backup
1312
USERNAME=$3
1413
PASSWORD=$4
1514
CODESIGN_STRING=$5
@@ -29,8 +28,6 @@ if test -d "$EXPLODED"; then
2928
fi
3029
rm -rf "$EXPLODED"
3130
mkdir "$EXPLODED"
32-
rm -rf "$BACKUP_JMODS"
33-
mkdir "$BACKUP_JMODS"
3431

3532
log "Unzipping $INPUT_FILE to $EXPLODED ..."
3633
tar -xzvf "$INPUT_FILE" --directory $EXPLODED

0 commit comments

Comments
 (0)