diff --git a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile index 03239d7945e..13e7a3d7d22 100644 --- a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile +++ b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile @@ -280,6 +280,7 @@ pipeline { --include MANIFEST.MF \ --include feature.xml \ --include \\*.product \ + --include \\*.sh \ --fixed-strings "${PREVIOUS_RELEASE_VERSION}") # The eclipse-platform-parent/pom.xml contains the previous version in the baseline repository variable if [[ -z "${matchingFiles}" ]] || [[ "${matchingFiles}" == 'eclipse-platform-parent/pom.xml' ]]; then diff --git a/JenkinsJobs/Releng/promoteBuild.jenkinsfile b/JenkinsJobs/Releng/promoteBuild.jenkinsfile index 7b8ae5422ff..15df7de870a 100644 --- a/JenkinsJobs/Releng/promoteBuild.jenkinsfile +++ b/JenkinsJobs/Releng/promoteBuild.jenkinsfile @@ -213,10 +213,6 @@ pipeline { utilities.replaceAllInFile('eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/resources/label.properties', [ 'previousReleaseVersion=.*' : "previousReleaseVersion=${BUILD_MAJOR}.${BUILD_MINOR}", ]) - utilities.replaceAllInFile('eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh', [ - 'R\\/R-\\d+.\\d+-\\d{12}' : "R/${DL_DROP_ID}", - '-\\d+.\\d+-linux-gtk-' : "-${BUILD_MAJOR}.${BUILD_MINOR}-linux-gtk-", - ]) utilities.replaceAllInFile('production/testScripts/configuration/streamSpecific.properties', [ 'previousReleaseLocation=.*' : 'previousReleaseLocation=https://\\${DOWNLOAD_HOST}/eclipse/downloads/drops4/' + DL_DROP_ID + '/', 'previousReleaseVersion=.*' : "previousReleaseVersion=${BUILD_MAJOR}.${BUILD_MINOR}", diff --git a/Jenkinsfile b/Jenkinsfile index 9d216714d9e..6db827be2ec 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -36,7 +36,7 @@ pipeline { return !sh(script:''' latestCommitID=$(curl https://download.eclipse.org/eclipse/relengScripts/state) git diff --name-only ${latestCommitID} HEAD \\ - production/ scripts/ cje-production/ eclipse.platform.releng.tychoeclipsebuilder/ + production/ cje-production/ eclipse.platform.releng.tychoeclipsebuilder/ ''', returnStdout: true).trim().isEmpty() } } @@ -53,10 +53,8 @@ pipeline { ssh genie.platform@projects-storage.eclipse.org mkdir -p ${serverStaging}/testScripts scp -r production/testScripts/bootstrap genie.platform@projects-storage.eclipse.org:${serverStaging}/testScripts - scp -r scripts genie.platform@projects-storage.eclipse.org:${serverStaging} scp -r cje-production genie.platform@projects-storage.eclipse.org:${serverStaging} - scp -r eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts genie.platform@projects-storage.eclipse.org:${serverStaging} scp -r eclipse.platform.releng.tychoeclipsebuilder/entitlement genie.platform@projects-storage.eclipse.org:${serverStaging} # Create state file that contains the current commitID for later diffs in this stage's conditional diff --git a/RELEASE.md b/RELEASE.md index 1e040e7b29c..c483ca56514 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -170,7 +170,6 @@ Previously they were created in ther own job: - Update previous-release.baseline in [eclipse-platform-parent/pom.xml](eclipse-platform-parent/pom.xml) - Update the last release build versions in [eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/resources/equinoxp2tests.properties](eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/resources/equinoxp2tests.properties) - Update the previousReleaseVersion in [eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/resources/label.properties](eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/resources/label.properties) - - Update the name of the copied files in [eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh](eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh) **RC2a Release** * Sometimes there is a critical issue that requires a fix, if it's decided that one is needed then an RC2a (followed by RC2b, RC2c etc if necessary) is built from the maintenance branch and promoted using the RC2 process. diff --git a/cje-production/master-build.sh b/cje-production/master-build.sh deleted file mode 100755 index 71bc4d20809..00000000000 --- a/cje-production/master-build.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -#******************************************************************************* -# Copyright (c) 2019 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# Sravan Kumar Lakkimsetti - initial API and implementation -#******************************************************************************* - -export CJE_ROOT=${CJE_ROOT:-`pwd`} -source $CJE_ROOT/scripts/common-functions.shsource - -unset JAVA_TOOL_OPTIONS -unset _JAVA_OPTIONS - -chmod +x mbscripts/* - -logDir=$CJE_ROOT/buildlogs -mkdir -p $logDir - -pushd mbscripts -for i in $(ls | sort) -do - fn-run-command ./$i $CJE_ROOT/buildproperties.shsource 2>&1 | tee $logDir/$i.log - if [ $? != 0 ];then - fn-write-property BUILD_FAILED "${BUILD_FAILED} \n$$CJE_ROOT/$DROP_DIR/$BUILD_ID/buildlogs/$i.log" - fi -done -popd - -wait - -source $CJE_ROOT/buildproperties.shsource -cp -r $logDir/* $CJE_ROOT/$DROP_DIR/$BUILD_ID/buildlogs -rm -rf $logDir -cp $CJE_ROOT/buildproperties.txt $CJE_ROOT/$DROP_DIR/$BUILD_ID -mv $CJE_ROOT/buildproperties.php $CJE_ROOT/$DROP_DIR/$BUILD_ID -mv $CJE_ROOT/buildproperties.properties $CJE_ROOT/$DROP_DIR/$BUILD_ID -mv $CJE_ROOT/buildproperties.shsource $CJE_ROOT/$DROP_DIR/$BUILD_ID -cp $CJE_ROOT/$DROP_DIR/$BUILD_ID/buildproperties.* $CJE_ROOT/$EQUINOX_DROP_DIR/$BUILD_ID diff --git a/cje-production/readme.txt b/cje-production/readme.txt index bf639e73d26..47a0be82042 100644 --- a/cje-production/readme.txt +++ b/cje-production/readme.txt @@ -6,21 +6,8 @@ Here are some ground rules 100-199 - cloning repos and preparing them with right branches/tags and tagging(git operations) 200-299 - Maven operations(Updating pom with versions from manifest, create tar ball, build SDK/patch etc) 300-399 - gather parts (collecting different artifacts into a temporary build location) - 400-499 - copy eclipse, repo and equinox artifacts to respective temporary download locations and generate necessary web pages 500-599 - Generate build reports (running p2.repo.analyzers and dirt report, jdeps reports etc) 600-699 - promote the build to download.eclipse.org. - 700-799 - trigger tests and send mails 2. Every script should accept $ENV_FILE. this envrironment file is created at the preparing the build environment stage. 3. Every script should source "common-functions.shsource". This will contain common methods used across the scripts - - -Folder structure -root (cje-production) - readme.txt - mbscripts - common - master-build.sh - siteDir (temporary location to hold the website) - - diff --git a/cje-production/scripts/common-functions.shsource b/cje-production/scripts/common-functions.shsource index bb6d6a5ce5d..b63affdf8ac 100755 --- a/cje-production/scripts/common-functions.shsource +++ b/cje-production/scripts/common-functions.shsource @@ -16,7 +16,7 @@ # USAGE: fn-write-property VAR_NAME # VAR_NAME: Variable name to write as "variable=value" form # This script assumes the following variables have been defined and are pointing -# to an appropriate file (see master-build.sh): +# to an appropriate file: # BUILD_ENV_FILE=${buildDirectory}/buildproperties.shsource # BUILD_ENV_FILE_PHP=${buildDirectory}/buildproperties.php # BUILD_ENV_FILE_PROP=${buildDirectory}/buildproperties.properties @@ -31,78 +31,3 @@ fn-write-property () echo "\$$1 = $2;" >> $BUILD_ENV_FILE_PHP echo "$1 = $2" >> $BUILD_ENV_FILE_PROP } - -# this function executes command passed as command line parameter and -# if that command fails it exit with the same error code as the failed command -fn-run-command () -{ - $* - returnCode=$? - if [ $returnCode != 0 ]; then - echo "Execution of \"$*\" failed with return code : $returnCode" - exit $returnCode - fi -} - -fn-notarize-macbuild () -{ - set -x - BUILD_DIR="$1"; shift - DMG="$1"; shift - - pushd "$BUILD_DIR" || exit 5 - - PRIMARY_BUNDLE_ID="${DMG//-macosx-cocoa-x86_64.dmg/}" - - retryCount=3 - while [ ${retryCount} -gt 0 ]; do - - RAW_RESPONSE=$(curl -sS --write-out "\n%{http_code}" -X POST -F file=@"${DMG}" -F 'options={"primaryBundleId": "'"${PRIMARY_BUNDLE_ID}"'", "staple": true};type=application/json' https://cbi.eclipse.org/macos/xcrun/notarize || : ) - - RESPONSE=$(head -n-1 <<<"${RAW_RESPONSE}") - STATUS_CODE=$(tail -n1 <<<"${RAW_RESPONSE}") - - if [[ "${STATUS_CODE}" != "200" ]]; then - echo "Bad response from the server (status=${STATUS_CODE})" - echo "${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - fi - - UUID=$(echo "$RESPONSE" | grep -Po '"uuid"\s*:\s*"\K[^"]+' || : ) - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - - while [[ ${STATUS} == 'IN_PROGRESS' ]]; do - sleep 1m - RESPONSE=$(curl -sS "https://cbi.eclipse.org/macos/xcrun/${UUID}/status") - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - done - - if [[ ${STATUS} != 'COMPLETE' ]]; then - echo "Notarization failed: ${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - else - break - fi - - done - - rm "${DMG}" - - curl -sSJO "https://cbi.eclipse.org/macos/xcrun/${UUID}/download" - popd || exit 5 - set +x -} diff --git a/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh b/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh deleted file mode 100755 index 34584583ddc..00000000000 --- a/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/src/main/scripts/getPreviousRelease.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -# Convenience script. -# Utility to copy current and previous versions of SDK and platform binary to the expected location. -# some parts expected to be temporary, until 'installDir' and 'testDir' -# correctly or redefined. - - -mkdir -p workarea/${buildId}/eclipse-testing -cp /home/files/buildzips/oxygen/R/R-4.37-202509050730//eclipse-platform-4.37-linux-gtk-x86_64.tar.gz ./workarea/${buildId}/eclipse-testing/platformLocation/ - -cp /home/files/buildzips/oxygen/R/R-4.37-202509050730//eclipse-SDK-4.37-linux-gtk-x86_64.tar.gz ./workarea/${buildId}/eclipse-testing/ - -cp eclipse-junit-tests-${buildId}.zip workarea/${buildId}/eclipse-testing/ - -cp library.xml workarea/${buildId}/eclipse-testing/ -cp JUNIT.XSL workarea/${buildId}/eclipse-testing/ diff --git a/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/eclipse_convert.xml b/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/eclipse_convert.xml deleted file mode 100644 index fb62af52d1d..00000000000 --- a/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/eclipse_convert.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/process-artifacts.xml b/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/process-artifacts.xml deleted file mode 100644 index c03fb8c0d50..00000000000 --- a/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/process-artifacts.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/scripts/verifyFreezePeriod.sh b/scripts/verifyFreezePeriod.sh deleted file mode 100644 index 26b5f28f5e8..00000000000 --- a/scripts/verifyFreezePeriod.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -today=$(date "+%Y-%m-%dT00:00:00Z") -tomorrow=$(date -d "+1 days" "+%Y-%m-%dT00:00:00Z") -calendarId="prfk26fdmpru1mptlb06p0jh4s%40group.calendar.google.com" -curl "https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events?timeMin=${today}&timeMax=${tomorrow}&key=${GOOGLE_API_KEY}" | grep -i -e "summary.*stabilization" -if [[ $? == 0 ]]; then - echo "Today is a freeze day" - exit 1 #Exiting with non-0 makes the build fail, and Gerrit Jenkins plugin voting -1 on review -fi -echo "No freeze today" -exit 0 #Exiting with non-0 makes the build succeed, and Gerrit Jenkins plugin voting -1 on review