diff --git a/JenkinsJobs/Builds/build.jenkinsfile b/JenkinsJobs/Builds/build.jenkinsfile index 7653ff97939..642b05d9ca3 100644 --- a/JenkinsJobs/Builds/build.jenkinsfile +++ b/JenkinsJobs/Builds/build.jenkinsfile @@ -280,6 +280,17 @@ spec: ./mb620_promoteUpdateSite.sh $CJE_ROOT/buildproperties.shsource ''' } + script { + if ("${COMPARATOR_ERRORS_SUBJECT}" != '' && "$BUILD_TYPE" == "I") { + echo 'Skip adding unstable build to composite repository.' + return + } + build job: 'Releng/modifyP2CompositeRepository', wait: true, propagate: true, parameters: [ + string(name: 'repositoryPath', value: "eclipse/updates/${RELEASE_VER}-I-builds"), + string(name: 'add', value: "${BUILD_IID}"), + string(name: 'sizeLimit', value: '3') + ] + } } } } diff --git a/JenkinsJobs/Builds/markBuild.groovy b/JenkinsJobs/Builds/markBuild.groovy index 85665d56281..8b6016512e9 100644 --- a/JenkinsJobs/Builds/markBuild.groovy +++ b/JenkinsJobs/Builds/markBuild.groovy @@ -22,7 +22,10 @@ pipeline { } stages { stage('Mark ''' + marker + ''''){ - steps { // workspace is not always cleaned by default. Clean before custom tools are installed into workspace. + environment { + RELEASE_VER = readBuildProperty('RELEASE_VER') + } + steps { sshagent(['projects-storage.eclipse.org-bot-ssh']) { sh \'''#!/bin/bash -xe # this function executes command passed as command line parameter and @@ -40,48 +43,8 @@ pipeline { echo "IssueUrl is empty! Exiting." exit 1 fi''' : '') + ''' - epDownloadDir=/home/data/httpd/download.eclipse.org/eclipse - dropsPath=${epDownloadDir}/downloads/drops4 - p2RepoPath=${epDownloadDir}/updates - buildDir=${dropsPath}/${buildId} - - workingDir=${epDownloadDir}/workingDir - - workspace=${workingDir}/${JOB_NAME}-${BUILD_NUMBER} - - ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* - - ssh genie.releng@projects-storage.eclipse.org mkdir -p ${workspace} - ssh genie.releng@projects-storage.eclipse.org cd ${workspace} - - #get latest Eclipse platform product - epRelDir=$(ssh genie.releng@projects-storage.eclipse.org ls -d --format=single-column ${dropsPath}/R-*|sort|tail -1) - ssh genie.releng@projects-storage.eclipse.org tar -C ${workspace} -xzf ${epRelDir}/eclipse-platform-*-linux-gtk-x86_64.tar.gz - - #get requisite tools - markingScriptName=\'''' + { switch (marker) { - case 'stable': return 'addToComposite' - case 'unstable': return 'removeFromComposite' - default : throw new IllegalArgumentException("Unknown marker: ${marker}") - } }() + '''' - ssh genie.releng@projects-storage.eclipse.org wget -O ${workspace}/${markingScriptName}.xml https://download.eclipse.org/eclipse/relengScripts/cje-production/scripts/${markingScriptName}.xml - - #triggering ant runner - baseBuilderDir=${workspace}/eclipse - javaCMD=/opt/public/common/java/openjdk/jdk-21_x64-latest/bin/java - - launcherJar=$(ssh genie.releng@projects-storage.eclipse.org find ${baseBuilderDir}/. -name "org.eclipse.equinox.launcher_*.jar" | sort | head -1 ) - - scp genie.releng@projects-storage.eclipse.org:${buildDir}/buildproperties.shsource . - source ./buildproperties.shsource - repoDir=/home/data/httpd/download.eclipse.org/eclipse/updates/${STREAMMajor}.${STREAMMinor}-${BUILD_TYPE}-builds - - devworkspace=${workspace}/workspace-antRunner - devArgs=-Xmx512m - extraArgs="${markingScriptName} -Drepodir=${repoDir} -Dcomplocation=${buildId}" - ssh genie.releng@projects-storage.eclipse.org ${javaCMD} -jar ${launcherJar} -nosplash -consolelog -debug -data $devworkspace \\ - -application org.eclipse.ant.core.antRunner -file ${workspace}/${markingScriptName}.xml ${extraArgs} -vmargs $devArgs + buildDir="${epDownloadDir}/downloads/drops4/${buildId}" ''' + { switch (marker) { case 'stable': return ''' #Remove hidden attribute and unstable tags @@ -98,14 +61,26 @@ pipeline { ''' default : throw new IllegalArgumentException("Unknown marker: ${marker}") } }() + ''' - ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* \''' - build job: 'Releng/updateIndex', wait: false } + build job: 'Releng/updateIndex', wait: false + build job: 'Releng/modifyP2CompositeRepository', wait: true, propagate: true, parameters: [ + string(name: 'repositoryPath', value: "eclipse/updates/${RELEASE_VER}-I-builds"), + string(name: \'''' + { switch (marker) { + case 'stable': return 'add' + case 'unstable': return 'remove' + default : throw new IllegalArgumentException("Unknown marker: ${marker}") + } }() + '''\', value: "${buildId}") + ] } } } } + +def readBuildProperty(String name) { + def value = sh(script: """curl https://download.eclipse.org/eclipse/downloads/drops4/${buildId}/buildproperties.properties | grep "^${name}" | cut -d'=' -f2""", returnStdout: true).trim() + return value.startsWith('"') && value.endsWith('"') ? value.substring(1, value.length() - 1) : value +} ''') } } diff --git a/JenkinsJobs/Releng/FOLDER.groovy b/JenkinsJobs/Releng/FOLDER.groovy index 9e655ca4cc8..5c8037ce55e 100644 --- a/JenkinsJobs/Releng/FOLDER.groovy +++ b/JenkinsJobs/Releng/FOLDER.groovy @@ -61,6 +61,29 @@ Releases are published to } } +pipelineJob('Releng/modifyP2CompositeRepository'){ + displayName('Modify P2 composite repository') + description('Add or remove children from an Eclipse-P2 composite repository.') + parameters { + stringParam('repositoryPath', null, "Relative repository path from https://download.eclipse.org/. E.g. 'eclipse/updates/4.37-I-builds'") + stringParam('add', null, 'Comma separated list of children to add. May be empty') + stringParam('remove', null, 'Comma separated list of children to remove. May be empty') + stringParam('sizeLimit', null, ''' +The maximum number of childrem the modified composite should contain. +If the total number of children exceeds this limit (after adding new ones), a corresponding number of children is removed from the beginning of the list. +''') + } + definition { + cpsScm { + lightweight(true) + scm { + github('eclipse-platform/eclipse.platform.releng.aggregator', 'master') + } + scriptPath('JenkinsJobs/Releng/modifyP2CompositeRepository.jenkinsfile') + } + } +} + pipelineJob('Releng/prepareNextDevCycle'){ displayName('Prepare Next Development Cycle') description('Perform all steps to prepare the next development cycle of Eclipse.') diff --git a/JenkinsJobs/Releng/checkCompositesValidity.groovy b/JenkinsJobs/Releng/checkCompositesValidity.groovy deleted file mode 100644 index 52d58b7aa51..00000000000 --- a/JenkinsJobs/Releng/checkCompositesValidity.groovy +++ /dev/null @@ -1,47 +0,0 @@ -job('Releng/checkCompositesValidity'){ - displayName('Check Composites Validity') - description('This job periodically checks that our main repositories are still "valid". It does this by accessing the repository to list the IUs it finds there. A repository can be invalid if it is not "atomic" which would usually be the result of a manual editing mistake or a child repository being deleted without the composite files being updated.') - - logRotator { - daysToKeep(15) - } - - jdk('temurin-jdk21-latest') - - label('basic') - - triggers { - cron { - spec('@daily') - } - } - - wrappers { //adds pre/post actions - timestamps() - sshAgent('projects-storage.eclipse.org-bot-ssh') - buildTimeoutWrapper{ - strategy { - absoluteTimeOutStrategy { - timeoutMinutes('30') - } - timeoutEnvVar('') - } - } - } - - publishers { - extendedEmail { - recipientList("platform-releng-dev@eclipse.org") - } - } - - steps { - shell(''' -#!/bin/bash -x - -wget https://download.eclipse.org/eclipse/relengScripts/cje-production/scripts/checkComposites/checkComposites.sh - -bash -x checkComposites.sh - ''') - } -} diff --git a/JenkinsJobs/Releng/makeVisible.jenkinsfile b/JenkinsJobs/Releng/makeVisible.jenkinsfile index 94467a90459..4618fcd0be8 100644 --- a/JenkinsJobs/Releng/makeVisible.jenkinsfile +++ b/JenkinsJobs/Releng/makeVisible.jenkinsfile @@ -62,42 +62,10 @@ pipeline { environment name: 'RELEASE_TYPE', value: 'R' } steps { - sshagent(['projects-storage.eclipse.org-bot-ssh']) { - sh ''' - #Repository will be available only for R builds. add it to composite - epDownloadDir=/home/data/httpd/download.eclipse.org/eclipse - dropsPath=${epDownloadDir}/downloads/drops4 - workingDir=${epDownloadDir}/workingDir - - workspace=${workingDir}/${JOB_NAME}-${BUILD_NUMBER} - - ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* - - ssh genie.releng@projects-storage.eclipse.org mkdir -p ${workspace} - ssh genie.releng@projects-storage.eclipse.org cd ${workspace} - - #get latest Eclipse platform product - epRelDir=$(ssh genie.releng@projects-storage.eclipse.org ls -d --format=single-column ${dropsPath}/R-*|sort|tail -1) - ssh genie.releng@projects-storage.eclipse.org tar -C ${workspace} -xzf ${epRelDir}/eclipse-platform-*-linux-gtk-x86_64.tar.gz - - #get requisite tools - ssh genie.releng@projects-storage.eclipse.org wget -O ${workspace}/addToComposite.xml https://download.eclipse.org/eclipse/relengScripts/cje-production/scripts/addToComposite.xml - - #triggering ant runner - baseBuilderDir=${workspace}/eclipse - javaCMD=/opt/public/common/java/openjdk/jdk-21_x64-latest/bin/java - launcherJar=$(ssh genie.releng@projects-storage.eclipse.org find ${baseBuilderDir}/. -name "org.eclipse.equinox.launcher_*.jar" | sort | head -1 ) - - repoDir=/"home/data/httpd/download.eclipse.org/eclipse/updates/${BUILD_MAJOR}.${BUILD_MINOR}" - - devWorkspace=${workspace}/workspace-antRunner - devArgs=-Xmx512m - extraArgs="addToComposite -Drepodir=${repoDir} -Dcomplocation=${RELEASE_ID}" - ssh genie.releng@projects-storage.eclipse.org ${javaCMD} -jar ${launcherJar} -nosplash -consolelog -debug -data $devWorkspace -application org.eclipse.ant.core.antRunner -file ${workspace}/addToComposite.xml ${extraArgs} -vmargs $devArgs - - ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* - ''' - } + build job: 'Releng/modifyP2CompositeRepository', wait: true, propagate: true, parameters: [ + string(name: 'repositoryPath', value: "eclipse/updates/${RELEASE_VERSION_MAJOR}.${RELEASE_VERSION_MINOR}"), + string(name: 'add', value: "${RELEASE_ID}") + ] } } } diff --git a/JenkinsJobs/Releng/modifyP2CompositeRepository.jenkinsfile b/JenkinsJobs/Releng/modifyP2CompositeRepository.jenkinsfile new file mode 100644 index 00000000000..35d861f4958 --- /dev/null +++ b/JenkinsJobs/Releng/modifyP2CompositeRepository.jenkinsfile @@ -0,0 +1,130 @@ +pipeline { + options { + disableConcurrentBuilds() // prevent concurrent updates of the same repository + timestamps() + skipDefaultCheckout() + timeout(time: 15, unit: 'MINUTES') + buildDiscarder(logRotator(numToKeepStr:'5')) + } + agent { + label 'ubuntu-2404' + } + tools { + jdk 'temurin-jdk21-latest' + } + environment { + ECLIPSE_EXE = installLatestReleasedEclipsePlatformProduct() + } + stages { + stage('Check Composites Validity') { + steps { + sh ''' + for repo in ${add//,/ }; do + if [[ $repo != http* ]]; then + repo="https://download.eclipse.org/${repositoryPath}/${repo}" + fi + echo "Validate content consistency of: ${repo}" + ${ECLIPSE_EXE} -nosplash -consolelog --launcher.suppressErrors -application org.eclipse.equinox.p2.director -repository "${repo}" -list + done + ''' + } + } + stage('Update composite repository') { + environment { + ANT_TASK_NAME = 'modifyComposite' + OUTPUT_PATH = 'output-repository' + } + steps { + script { + sh "curl -o compositeArtifacts.jar https://download.eclipse.org/${repositoryPath}/compositeArtifacts.jar" + def childenXPathSet = sh(script: '''#!/bin/sh +xe + unzip -p compositeArtifacts.jar compositeArtifacts.xml |\ + xmllint - --xpath '/repository/children/child/@location' + exit 0 + ''', returnStdout: true).trim() + def compositeChildren = 'XPath set is empty' == childenXPathSet ? [] + : parseList(childenXPathSet, '\\s+') + .collect{c -> c.startsWith('location="') && c.endsWith('"') ? c.substring(10, c.length() - 1) : null} + .findAll{c -> c != null} + + echo "Current children: ${compositeChildren}" + def toAdd = parseList(params.add, ',').unique() + def toRemove = parseList(params.remove, ',').unique() + toRemove = toRemove.findAll{e -> compositeChildren.contains(e)} + + if (params.sizeLimit) { + def sizeRestrictionRemovals = compositeChildren.size() + toAdd.size() - toRemove.size() - Integer.parseInt(params.sizeLimit) + if (sizeRestrictionRemovals > 0) { + toRemove += compositeChildren.subList(0, sizeRestrictionRemovals) + } + } + echo "Children added: ${toAdd}" + echo "Children removed: ${toRemove}" + if (compositeChildren.size() + toAdd.size() - toRemove.size() == 0) { + error('All children are removed and composite repository becomes empty.') + } + def modifyComposite_xml = """\ + + + + + + + """.stripIndent() + for (child in toAdd) { + modifyComposite_xml += """ \n""" + } + for (child in toRemove) { + modifyComposite_xml += """ \n""" + } + modifyComposite_xml+= '''\ + + + + '''.stripIndent() + writeFile(file: "${ANT_TASK_NAME}.xml", text: modifyComposite_xml) + + sh ''' + ${ECLIPSE_EXE} -nosplash -consolelog --launcher.suppressErrors -debug -data ./eclipse-ws \ + -application org.eclipse.ant.core.antRunner -file "${ANT_TASK_NAME}.xml" "${ANT_TASK_NAME}" + ''' + sshagent(['projects-storage.eclipse.org-bot-ssh']) { + sh ''' + epDownloadsDir='/home/data/httpd/download.eclipse.org' + scp -r ${OUTPUT_PATH}/* "genie.releng@projects-storage.eclipse.org:${epDownloadsDir}/${repositoryPath}" + ''' + } + } + } + } + } + post { + always { + archiveArtifacts allowEmptyArchive: true, artifacts: '**/*', excludes: 'tools/**/*' + } + } +} + +@NonCPS +def parseList(String str, String delimiterPattern) { + return str !=null && !str.trim().isEmpty() ? str.trim().split(delimiterPattern).collect{c -> c.trim()} : [] +} + +def installLatestReleasedEclipsePlatformProduct() { + sh 'curl -o buildproperties.txt https://download.eclipse.org/eclipse/relengScripts/cje-production/buildproperties.txt' + def eclipseURL = sh(script: '''#!/bin/sh +xe + source ./buildproperties.txt + #TODO: Remove this after the next release! + PREVIOUS_RELEASE_ID='S-4.37M1-202507031800' + PREVIOUS_RELEASE_VER='4.37M1' + echo "https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_ID}/eclipse-platform-${PREVIOUS_RELEASE_VER}-linux-gtk-x86_64.tar.gz" + ''', returnStdout: true).trim() + return install('eclipse-platform', eclipseURL) + '/eclipse' +} + +def install(String toolType, String url) { + dir("${WORKSPACE}/tools/${toolType}") { + sh "curl -L ${url} | tar -xzf -" + return "${pwd()}/" + sh(script: 'ls', returnStdout: true).trim() + } +} \ No newline at end of file diff --git a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile index c3c2add9ad8..fe0253c987e 100644 --- a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile +++ b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile @@ -164,8 +164,8 @@ pipeline { } } stage ('Create New Stream Repos') { - environment { - ECLIPSE_EXE = installEclipsePlatformProduct("${PREVIOUS_RELEASE_CANDIDATE_ID}", "${PREVIOUS_RELEASE_CANDIDATE_TAG}") + when { + not { expression { params.DRY_RUN } } } steps { dir("${WORKSPACE}/target/repositories") { @@ -174,28 +174,16 @@ pipeline { epUpdatesDir='/home/data/httpd/download.eclipse.org/eclipse/updates' templateRepo="${epUpdatesDir}/template_repo" - releaseRepoName="${NEXT_RELEASE_VERSION}" - iBuildRepoName="${NEXT_RELEASE_VERSION}-I-builds" - yBuildRepoName="${NEXT_RELEASE_VERSION}-Y-builds" - previousRCRepo="https://download.eclipse.org/eclipse/updates/${PREVIOUS_RELEASE_VERSION}-I-builds/${PREVIOUS_RELEASE_CANDIDATE_I_BUILD}/" - - # Copy the repo-template to this workspace to create the new I-build repo from it, - # then add the previous release RC as only child and copy the resulting repo back to the download-server - curl -o addToComposite.xml https://download.eclipse.org/eclipse/relengScripts/cje-production/scripts/addToComposite.xml - scp -r genie.releng@projects-storage.eclipse.org:${templateRepo} template_repo/ - cp -r template_repo ${iBuildRepoName} - - taskName='addToComposite' - ${ECLIPSE_EXE} -nosplash -consolelog -debug -data ./eclipse-ws \ - -application org.eclipse.ant.core.antRunner -file ${taskName}.xml \ - ${taskName} -Drepodir=$(pwd)/${iBuildRepoName} -Dcomplocation=${previousRCRepo} - if [[ ${DRY_RUN} == 'false' ]]; then - scp -r ${iBuildRepoName} genie.releng@projects-storage.eclipse.org:${epUpdatesDir}/${iBuildRepoName} - ssh genie.releng@projects-storage.eclipse.org cp -r ${templateRepo} ${epUpdatesDir}/${yBuildRepoName} - ssh genie.releng@projects-storage.eclipse.org cp -r ${templateRepo} ${epUpdatesDir}/${releaseRepoName} - fi + ssh genie.releng@projects-storage.eclipse.org cp -r ${templateRepo} ${epUpdatesDir}/${NEXT_RELEASE_VERSION}-I-builds + ssh genie.releng@projects-storage.eclipse.org cp -r ${templateRepo} ${epUpdatesDir}/${NEXT_RELEASE_VERSION}-Y-builds + ssh genie.releng@projects-storage.eclipse.org cp -r ${templateRepo} ${epUpdatesDir}/${NEXT_RELEASE_VERSION} ''' } + build job: 'Releng/modifyP2CompositeRepository', wait: true, propagate: true, parameters: [ + string(name: 'repositoryPath', value: "eclipse/updates/${NEXT_RELEASE_VERSION}-I-builds"), + string(name: 'add', value: "https://download.eclipse.org/eclipse/updates/${PREVIOUS_RELEASE_VERSION}-I-builds/${PREVIOUS_RELEASE_CANDIDATE_I_BUILD}/") + // Size-limit is not relevant, the repository is initially empty. + ] } } } @@ -343,20 +331,6 @@ def commitAllChangesExcludingSubmodules(String commitMessage) { } } -// build tools - -def installEclipsePlatformProduct(String releaseID, String releaseVersion){ - def eclipseURL = "https://download.eclipse.org/eclipse/downloads/drops4/${releaseID}/eclipse-platform-${releaseVersion}-linux-gtk-x86_64.tar.gz" - return install('eclipse-platform', eclipseURL) + '/eclipse' -} - -def install(String toolType, String url) { - dir("${WORKSPACE}/target/tools/${toolType}") { - sh "curl -L ${url} | tar -xzf -" - return "${pwd()}/" + sh(script: 'ls', returnStdout: true).trim() - } -} - // Github API interactions def listReposOfOrganization(String orga) { diff --git a/cje-production/mbscripts/mb620_promoteUpdateSite.sh b/cje-production/mbscripts/mb620_promoteUpdateSite.sh index 83424c41926..2502106a42c 100755 --- a/cje-production/mbscripts/mb620_promoteUpdateSite.sh +++ b/cje-production/mbscripts/mb620_promoteUpdateSite.sh @@ -22,73 +22,9 @@ fi source $CJE_ROOT/scripts/common-functions.shsource source $1 -compositeTargetSize=3 epUpdateDir=/home/data/httpd/download.eclipse.org/eclipse/updates dropsPath=${epUpdateDir}/${STREAMMajor}.${STREAMMinor}-${BUILD_TYPE}-builds -latestRelDir=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops4 -java_home=/opt/public/common/java/openjdk/jdk-21_x64-latest/bin pushd $CJE_ROOT/$UPDATES_DIR scp -r ${BUILD_ID} genie.releng@projects-storage.eclipse.org:${dropsPath}/. popd - -if [ "$COMPARATOR_ERRORS" == "true" ] && [ "$BUILD_TYPE" == "I" ] -then - exit 0 -fi - -epDownloadDir=/home/data/httpd/download.eclipse.org/eclipse -workingDir=${epDownloadDir}/workingDir -workspace=${workingDir}/${JOB_NAME}-${BUILD_NUMBER} - -ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* -ssh genie.releng@projects-storage.eclipse.org mkdir -p ${workspace} - -#get latest Eclipse platform product -epRelDir=$(ssh genie.releng@projects-storage.eclipse.org ls -d --format=single-column ${latestRelDir}/R-*|sort|tail -1) -ssh genie.releng@projects-storage.eclipse.org tar -C ${workspace} -xzf ${epRelDir}/eclipse-platform-*-linux-gtk-x86_64.tar.gz - -#get requisite tools -# Enhance the addToComposite ANT script to remove the oldest/earliest children to ensure the target-size is not exceeded -scp genie.releng@projects-storage.eclipse.org:${dropsPath}/compositeArtifacts.jar compositeArtifacts.jar -#Unzip compositeArtifacts.xml and read the current children from it -currentChildren=$(unzip -p compositeArtifacts.jar compositeArtifacts.xml |\ - xmllint - --xpath '/repository/children/child/@location' |\ - sed --expression 's|location="||g' --expression 's|"||g') -rm compositeArtifacts.jar -childrenArray=(${currentChildren}) -echo "Current children of composite repository: ${childrenArray[@]}" - -addToComposite_xml=$(curl https://download.eclipse.org/eclipse/relengScripts/cje-production/scripts/addToComposite.xml) -extraTasksMarker='' - -# One more child is about to be added to the composite. -# Remove those children from the beginning of the list if the target-size would be exceeded. -removalCount=$(( ${#childrenArray[@]} + 1 - compositeTargetSize )) -if [ "${removalCount}" -gt 0 ]; then - childrenToRemove="${childrenArray[@]:0:${removalCount}}" - echo "Remove from composite repsitory: ${childrenToRemove}" - extraAntTask='' - for child in ${childrenToRemove}; do - extraAntTask+="\\n " - done - addToComposite_xml=$(cat <<<"${addToComposite_xml}" | sed --expression "s|${extraTasksMarker}|${extraAntTask}|g") -else - echo "Composite p2-repository contains only ${#childrenArray[@]} children and adding one will not exceed its target size of ${compositeTargetSize}: ${dropsPath}" -fi - -ssh genie.releng@projects-storage.eclipse.org "cat<<<'${addToComposite_xml}' > ${workspace}/addToComposite.xml" - -#triggering ant runner -baseBuilderDir=${workspace}/eclipse -javaCMD=${java_home}/java - -launcherJar=$(ssh genie.releng@projects-storage.eclipse.org find ${baseBuilderDir}/. -name "org.eclipse.equinox.launcher_*.jar" | sort | head -1 ) - -devworkspace=${workspace}/workspace-antRunner -devArgs=-Xmx512m -extraArgs="addToComposite -Drepodir=${dropsPath} -Dcomplocation=${BUILD_ID}" - -ssh genie.releng@projects-storage.eclipse.org ${javaCMD} -jar ${launcherJar} -nosplash -consolelog -debug -data $devworkspace -application org.eclipse.ant.core.antRunner -file ${workspace}/addToComposite.xml ${extraArgs} -vmargs $devArgs - -ssh genie.releng@projects-storage.eclipse.org rm -rf ${workingDir}/${JOB_NAME}* diff --git a/cje-production/scripts/addToComposite.xml b/cje-production/scripts/addToComposite.xml deleted file mode 100644 index 968f0e2c6ef..00000000000 --- a/cje-production/scripts/addToComposite.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/cje-production/scripts/checkComposites/checkComposites.sh b/cje-production/scripts/checkComposites/checkComposites.sh deleted file mode 100755 index 84940bbb8db..00000000000 --- a/cje-production/scripts/checkComposites/checkComposites.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -#******************************************************************************* -# Copyright (c) 2022 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 Lakkimsetti - initial API and implementation -#******************************************************************************* - -# Utility to run on Hudson, to periodically confirm that our -# atomic composite repositories are valid. - -# can be retrieved, on Hudson, with -# wget --no-verbose --no-cache -O checkComposites.sh https://${GIT_HOST}/c/platform/eclipse.platform.releng.aggregator.git/plain/production/miscToolsAndNotes/checkComposites/checkComposites.sh; -# and typically set chmod +x checkComposites.sh -# and then executed in "bash script" build step. - -dropsPath=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops4 -repoHttpAccess=https://download.eclipse.org -repoAccess=${repoHttpAccess} -# TODO: reduce this list soon -repoList="\ -/eclipse/updates/4.36/ \ -/eclipse/updates/4.36-I-builds/ \ -/eclipse/updates/4.37/ \ -/eclipse/updates/4.37-I-builds/ \ -/eclipse/updates/4.37-Y-builds/ \ -" - - -# Confirm that Eclipse Platform has already been installed, if not, install it -if [[ ! -d ${WORKSPACE}/eclipse ]] -then - epRelDir=$(ssh genie.releng@projects-storage.eclipse.org ls -d --format=single-column ${dropsPath}/R-*|sort|tail -1) - scp genie.releng@projects-storage.eclipse.org:${epRelDir}/eclipse-platform-*-linux-gtk-x86_64.tar.gz . - tar -xzf eclipse-platform-*-linux-gtk-x86_64.tar.gz -C ${WORKSPACE} -fi - -for repo in ${repoList} -do - echo -e "\n\n\tChecking repo:\n\t\t ${repoAccess}${repo}\n\n" - nice -n 10 ${WORKSPACE}/eclipse/eclipse -nosplash -consolelog --launcher.suppressErrors -application org.eclipse.equinox.p2.director -repository ${repoAccess}${repo} -list -vm ${JAVA_HOME}/bin/java - RC=$? - if [[ $RC != 0 ]] - then - echo -e "\n\t[ERROR]: p2.director list returned a non-zero return code: $RC" - exit $RC - fi -done - diff --git a/cje-production/scripts/removeFromComposite.xml b/cje-production/scripts/removeFromComposite.xml deleted file mode 100644 index 3a15a27f9c2..00000000000 --- a/cje-production/scripts/removeFromComposite.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - -