Skip to content
This repository was archived by the owner on Nov 15, 2022. It is now read-only.

Commit 508e6f0

Browse files
creating changelist in nightly (#21731)
* RQ infrastructure work * renaming findbugs_lp test id * fixing minor issue in findbug low priority * make copyright plugin to use git * fix copyright plugin with git * nightly promotion for git based infrastructure * minor : fixing nightly job script * change jnet storage from /dlc to /content/quarantine/www/ * adding the permission to all to read the bits at end of promotion script * adding change.txt in nightly
1 parent 67837c7 commit 508e6f0

File tree

1 file changed

+71
-13
lines changed

1 file changed

+71
-13
lines changed

main/common.sh

Lines changed: 71 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,37 @@ init_weekly(){
120120
init_version
121121
}
122122

123+
purge_old_nightlies(){
124+
#########################
125+
# PURGE OLDER NIGHTLIES #
126+
#########################
127+
128+
rm -rf /tmp/purgeNightlies.sh
129+
cat <<EOF > /tmp/purgeNightlies.sh
130+
#!/bin/bash
131+
# Max builds to keep around
132+
MAX_BUILDS=21
133+
cd \$1
134+
LISTING=\`ls -trd b*\`
135+
nbuilds=0
136+
for i in \$LISTING; do
137+
nbuilds=\`expr \$nbuilds + 1\`
138+
done
139+
echo "Total number of builds is \$nbuilds"
140+
141+
while [ \$nbuilds -gt \$MAX_BUILDS ]; do
142+
oldest_dir=\`ls -trd b* | head -n1\`
143+
echo "rm -rf \$oldest_dir"
144+
rm -rf \$oldest_dir
145+
nbuilds=\`expr \$nbuilds - 1\`
146+
echo "Number of builds is now \$nbuilds"
147+
done
148+
EOF
149+
ssh ${SSH_MASTER} "rm -rf /tmp/purgeNightlies.sh"
150+
scp /tmp/purgeNightlies.sh ${SSH_MASTER}:/tmp
151+
ssh ${SSH_MASTER} "chmod +x /tmp/purgeNightlies.sh ; bash -e /tmp/purgeNightlies.sh /java/re/${ARCHIVE_PATH}"
152+
}
153+
123154
init_nightly(){
124155
BUILD_KIND="nightly"
125156
ARCHIVE_PATH=${PRODUCT_GF}/${PRODUCT_VERSION_GF}/nightly
@@ -144,21 +175,21 @@ promote_init(){
144175
fi
145176

146177
export PROMOTION_SUMMARY=${WORKSPACE_BUNDLES}/${BUILD_KIND}-promotion-summary.txt
147-
rm -f $PROMOTION_SUMMARY
178+
rm -f ${PROMOTION_SUMMARY}
148179
export JNET_DIR=${JNET_USER}@${JNET_STORAGE_HOST}:/dlc/${ARCHIVE_PATH}
149180
export JNET_DIR_HTTP=http://download.java.net/${ARCHIVE_PATH}
150181
export ARCHIVE_STORAGE_BUNDLES=/java/re/${ARCHIVE_MASTER_BUNDLES}
151182
export SSH_MASTER=${RE_USER}@${HUDSON_MASTER_HOST}
152183
export SSH_STORAGE=${RE_USER}@${STORAGE_HOST}
153184
export SCP=${SSH_STORAGE}:${ARCHIVE_STORAGE_BUNDLES}
154185
export ARCHIVE_URL=http://${STORAGE_HOST_HTTP}/java/re/${ARCHIVE_MASTER_BUNDLES}
155-
156186
init_storage_area
157187
}
158188

159189
promote_finalize(){
160190
create_symlinks
161191
create_index
192+
add_permission
162193
send_notification
163194
}
164195

@@ -194,22 +225,21 @@ promote_weekly(){
194225

195226
promote_nightly(){
196227
promote_init "nightly"
197-
promote_bundle ${PROMOTED_BUNDLES}/web.zip ${PRODUCT_GF}-${PRODUCT_VERSION_GF}-web-${BUILD_ID}-${MDATE}.zip
198-
promote_bundle ${PROMOTED_BUNDLES}/glassfish.zip ${PRODUCT_GF}-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.zip
199-
promote_bundle ${PROMOTED_BUNDLES}/nucleus-new.zip nucleus-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.zip
200-
promote_bundle ${PROMOTED_BUNDLES}/version-info.txt version-info-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt
201-
promote_bundle ${PROMOTED_BUNDLES}/changes.txt changes-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt
228+
promote_bundle ${NIGHTLY_PROMOTED_BUNDLES}/web.zip ${PRODUCT_GF}-${PRODUCT_VERSION_GF}-web-${BUILD_ID}-${MDATE}.zip
229+
promote_bundle ${NIGHTLY_PROMOTED_BUNDLES}/glassfish.zip ${PRODUCT_GF}-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.zip
230+
promote_bundle ${NIGHTLY_PROMOTED_BUNDLES}/nucleus-new.zip nucleus-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.zip
231+
promote_bundle ${NIGHTLY_PROMOTED_BUNDLES}/version-info.txt version-info-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt
232+
promote_bundle ${NIGHTLY_PROMOTED_BUNDLES}/changes.txt changes-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt
202233
VERSION_INFO="${WORKSPACE_BUNDLES}/version-info-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt"
203-
SVN_REVISION=`head -1 ${VERSION_INFO} | awk '{print $2}'`
204-
#record_svn_rev ${SVN_REVISION}
234+
SCM_REVISION=`head -1 ${VERSION_INFO} | cut -d ":" -f2 | tr " " ""`
205235
purge_old_nightlies
206236
# hook for the docker image of the nightly
207237
curl -H "Content-Type: application/json" \
208238
--data '{"build": true}' \
209239
-X POST \
210240
-k \
211-
https://registry.hub.docker.com/u/glassfish/nightly/trigger/945d55fc-1d4c-4043-8221-74185d9a4d53/
212-
ssh $SSH_MASTER `echo "echo $SVN_REVISION > /scratch/java_re/hudson/hudson_install/last_promoted_nightly_scm_revision"`
241+
https://registry.hub.docker.com/u/glassfish/nightly/trigger/945d55fc-1d4c-4043-8221-74185d9a4d53/
242+
ssh $SSH_MASTER `echo "echo $SCM_REVISION > /scratch/java_re/hudson/hudson_install/last_promoted_nightly_scm_revision"`
213243
promote_finalize
214244
}
215245

@@ -245,6 +275,9 @@ init_common(){
245275
PRODUCT_VERSION_GF=$PRODUCT_VERSION_GF.${MICRO_VERSION}
246276
fi
247277

278+
PROMOTED_JOB_URL=${HUDSON_URL}/job/${PROMOTED_JOB_NAME}/${PROMOTED_NUMBER}
279+
PROMOTED_BUNDLES=${PROMOTED_JOB_URL}/artifact/bundles/
280+
248281
IPS_REPO_URL=http://localhost
249282
IPS_REPO_DIR=${WORKSPACE}/promorepo
250283
IPS_REPO_PORT=16500
@@ -671,9 +704,28 @@ scp_jnet(){
671704
"scp /java/re/${ARCHIVE_MASTER_BUNDLES}/${file} ${JNET_DIR}/latest-${simple_name}"
672705
}
673706
707+
create_promotion_changs(){
708+
rm ${WORKSPACE_BUNDLES}/${1} | true
709+
if [[ "nightly" == "${BUILD_KIND}" ]]; then
710+
PREVIOUS_COMMIT=`cat ${HUDSON_HOME}/last_promoted_nightly_scm_revision`
711+
fi
712+
if [[ "weekly" == "${BUILD_KIND}" ]]; then
713+
PREVIOUS_COMMIT=`cat ${HUDSON_HOME}/last_promoted_weekly_scm_revision`
714+
fi
715+
CURRENT_COMMIT=`head -1 ${WORKSPACE_BUNDLES}/version-info-${PRODUCT_VERSION_GF}-${BUILD_ID}-${MDATE}.txt | cut -d ":" -f2 | tr " " ""`
716+
if [ "${CURRENT_COMMIT}" != "${PREVIOUS_COMMIT}" ] ; then
717+
cd ${WORKSPACE}/glassfish
718+
git log --abbrev-commit --pretty=oneline ${PREVIOUS_COMMIT}..${CURRENT_COMMIT} > ${WORKSPACE_BUNDLES}/${1}
719+
fi
720+
}
721+
674722
promote_bundle(){
675723
printf "\n==== PROMOTE_BUNDLE (%s) ====\n\n" ${2}
676-
curl ${1} > ${WORKSPACE_BUNDLES}/${2}
724+
if [[ ${1} == *"changes.txt" ]]; then
725+
create_promotion_changs ${2}
726+
else
727+
curl ${1} > ${WORKSPACE_BUNDLES}/${2}
728+
fi
677729
scp ${WORKSPACE_BUNDLES}/${2} ${SCP}
678730
scp_jnet ${WORKSPACE_BUNDLES}/${2}
679731
if [ "nightly" == "${BUILD_KIND}" ]
@@ -725,13 +777,19 @@ RE
725777
MESSAGE
726778
}
727779
780+
add_permission(){
781+
782+
ssh ${SSH_MASTER} \
783+
"ssh ${JNET_USER}@${JNET_STORAGE_HOST} 'cd /dlc/${PRODUCT_GF}/${PRODUCT_VERSION_GF};chmod o+r nightly/*;chmod o+r promoted/*'"
784+
}
785+
728786
#
729787
# Create index files on JNET_STORAGE_HOST for PRODUCT_GF.
730788
#
731789
create_index(){
732790
733791
# cp this script to master.
734-
scp `dirname $0`/common.sh ${SSH_MASTER}:/tmp
792+
scp ${WORKSPACE}/glassfish/main/common.sh ${SSH_MASTER}:/tmp
735793
736794
# cp script from ssh_master to JNET_STORAGE_HOST.
737795
ssh ${SSH_MASTER} \

0 commit comments

Comments
 (0)