diff --git a/JenkinsJobs/Builds/build.jenkinsfile b/JenkinsJobs/Builds/build.jenkinsfile index 8b0fba30860..7625a55c0be 100644 --- a/JenkinsJobs/Builds/build.jenkinsfile +++ b/JenkinsJobs/Builds/build.jenkinsfile @@ -298,10 +298,12 @@ spec: steps { script { for (c in BUILD.testConfigurations) { - build job: "${BUILD.testJobFolder}/${BUILD.testPrefix}-${c.os}-${c.arch}-java${c.javaVersion}", parameters: [string(name: 'buildId', value: "${BUILD_IID}")], wait: false + build job: "${BUILD.testJobFolder}/${BUILD.testPrefix}-${c.os}-${c.arch}-java${c.javaVersion}", wait: false, parameters: [ + string(name: 'buildId', value: "${BUILD_IID}") + ] } } - build job: 'SmokeTests/Start-smoke-tests', parameters: [string(name: 'buildId', value: "${BUILD_IID}")], wait: false + build job: 'SmokeTests/Start-smoke-tests', wait: false, parameters: [string(name: 'buildId', value: "${BUILD_IID}")] } } stage('Trigger publication to Maven snapshots repo') { @@ -314,7 +316,10 @@ spec: } } steps { - build job: 'Releng/PublishToMaven', parameters: [string(name: 'snapshotOrRelease', value: '-snapshot')], wait: false + build job: 'Releng/PublishToMaven', wait: false, parameters: [ + string(name: 'snapshotOrRelease', value: 'snapshot'), + string(name: 'sourceRepository', value: "https://download.eclipse.org/eclipse/updates/${RELEASE_VER}-${BUILD_TYPE}-builds/${BUILD_IID}") + ] } } } diff --git a/JenkinsJobs/Releng/FOLDER.groovy b/JenkinsJobs/Releng/FOLDER.groovy index 82d6f4dd3e8..e30b5a432d9 100644 --- a/JenkinsJobs/Releng/FOLDER.groovy +++ b/JenkinsJobs/Releng/FOLDER.groovy @@ -8,7 +8,7 @@ pipelineJob('Releng/PublishToMaven'){

This job uses the CBI aggregator to produce a Maven-compatible repository with contents as specified by the SDK4Mvn.aggr and -then publishes the artifacts for Eclipse-Platform, JDT and PDE from the output: +then publishes the artifacts for Eclipse-Platform, JDT, Equinox and PDE from the output:

-The source repository to be published is specified via the -local and -remote repository locations. - -For a release build, these should specify the release repository location. -After the release, these should specify the current 4.x-I-Builds. - -

''') parameters { // Define parameters in job configuration to make them available even for the very first build after this job was (re)created. - choiceParam('snapshotOrRelease', ['-snapshot' /*default*/, '-release'], '''\ -

-The source repository to be published is specified via the -local and -remote repository locations -the SDK4Mvn.aggr. - -For a release build, these should specify the release repository location. -After the release, these should specify the current 4.x-I-Builds. - -

+ choiceParam('snapshotOrRelease', ['snapshot' /*default*/, 'release'], '''\ +If this is the publication of a snapshot or a release build. +''') + stringParam('sourceRepository', null, '''\ +The URL of the source P2 repository to be published.
+If this is a release publication, the corresponding release repository should be specified, e.g. 'https://download.eclipse.org/eclipse/updates/4.36/R-4.36-202505281830/'
+For a snapshot publication, the 4.x-I-Builds child repository of the specific build should be specified, e.g. 'https://download.eclipse.org/eclipse/updates/4.37-I-builds/I20250710-1800/'
+If left blank (not recommended), the latest I-build is published. ''') } definition { diff --git a/JenkinsJobs/Releng/publishToMaven.jenkinsfile b/JenkinsJobs/Releng/publishToMaven.jenkinsfile index 8f3eb3fc64b..6d012ec34ee 100644 --- a/JenkinsJobs/Releng/publishToMaven.jenkinsfile +++ b/JenkinsJobs/Releng/publishToMaven.jenkinsfile @@ -27,8 +27,12 @@ pipeline { sh '''#!/bin/bash -e FILE_SDK_AGGR="${WORKSPACE}/git-repo/eclipse.platform.releng/publish-to-maven-central/SDK4Mvn.aggr" + # Set the specified source repository + if [ -n "${sourceRepository}" ]; then + sed -e "s|||" -i ${FILE_SDK_AGGR} + fi # Set whether this is a snapshot build or not - if [ "${snapshotOrRelease}" = "-snapshot" ]; then + if [ "${snapshotOrRelease}" != 'release' ]; then sed -e 's/snapshot=".*"/snapshot="true"/g' -i ${FILE_SDK_AGGR} fi @@ -134,7 +138,7 @@ pipeline { SOURCES_ARG="-Dsources=${sourcesFile}" else SOURCES_ARG="" - echo "No ${sourcesFile}." + echo "Missing sources file ${sourcesFile}." fi if [ -f "${javadocFile}" ]; then @@ -142,7 +146,7 @@ pipeline { JAVADOC_ARG="-Djavadoc=${javadocFile}" else JAVADOC_ARG="" - echo "No ${javadocFile}." + echo "Missing JavaDoc file ${javadocFile}." fi set -x diff --git a/RELEASE.md b/RELEASE.md index 342e936d475..95de5dcf7ff 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -110,9 +110,7 @@ The actual steps to release - You can subscribe to [cross-project-issues](https://accounts.eclipse.org/mailing-list/cross-project-issues-dev) to get the notifications on Simrel releases. * #### **Publish to Maven central** - Publishing to maven should happen by at least Tuesday before the release since there is up to a 24 hour delay for the maven mirrors. - - Update [SDK4Mvn.aggr](https://github.com/eclipse-platform/eclipse.platform.releng/blob/master/publish-to-maven-central/SDK4Mvn.aggr) to the release build. - - SDK4Mvn.aggr determines what is being published to Maven - - Run the [Publish to Maven](https://ci.eclipse.org/releng/job/Releng/job/PublishToMaven/) job in jenkins with the `-release` parameter. + - Run the [Publish to Maven](https://ci.eclipse.org/releng/job/Releng/job/PublishToMaven/) job in jenkins with the `release` parameter and the release build as `sourceRepository`. - Once that publish job has completed successfully, log into https://oss.sonatype.org/#stagingRepositories and close the Platform, JDT and PDE repositories. - If you do not have an account on oss.sonatype.org for performing the rest of the release request one by creating an issue like https://issues.sonatype.org/browse/OSSRH-43870 to get permissions for platform, JDT and PDE projects and tag an existing release engineer to give approval. * **Contribute to SimRel** diff --git a/eclipse.platform.releng/publish-to-maven-central/SDK4Mvn.aggr b/eclipse.platform.releng/publish-to-maven-central/SDK4Mvn.aggr index 921ca393ff4..be59886eb99 100644 --- a/eclipse.platform.releng/publish-to-maven-central/SDK4Mvn.aggr +++ b/eclipse.platform.releng/publish-to-maven-central/SDK4Mvn.aggr @@ -2,7 +2,7 @@ - +