From 99d662f9e19b12e2ec10a9f62850ed3a92690a97 Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Sat, 23 Nov 2024 15:26:17 +0100 Subject: [PATCH 1/3] Add manual trigger for 'updateRelease'-workflow and use project-bot Adding a manual trigger allows to re-run that job manually with the latest changes applied to the referenced workflow from the releng.aggregator repository. And since we have a eclipse bot specifically for each project we can use that bot as author of these automated changes instead of the generic GH bot. --- .github/workflows/updateRelease.yml | 35 ++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/workflows/updateRelease.yml b/.github/workflows/updateRelease.yml index 379756aa07f..f442f70ab6b 100644 --- a/.github/workflows/updateRelease.yml +++ b/.github/workflows/updateRelease.yml @@ -2,10 +2,26 @@ name: Update For Next Release on: workflow_call: + inputs: + nextReleaseVersion: + description: 'The version of the release, for example: 4.35' + type: string + required: true + botName: + description: The name of the bot that authos the changes + type: string + default: 'Eclipse Releng Bot' + botMail: + description: The name of the bot that authos the changes + type: string + default: 'eclipse-releng-bot@eclipse.org' + secrets: + githubBotPAT: + description: The personal access token (with scope 'public_repo') of the bot to push a required change to a branch. + jobs: update: runs-on: ubuntu-latest - if: contains(github.event.milestone.description, 'Release') steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: @@ -24,15 +40,18 @@ jobs: - name: Update Versions run: >- mvn -U -B -ntp - org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=${{ github.event.milestone.title }}.0-SNAPSHOT - org.eclipse.tycho:tycho-versions-plugin:set-parent-version -DnewParentVersion=${{ github.event.milestone.title }}.0-SNAPSHOT - - name: Create Pull Request for Release ${{ github.event.milestone.title }} + org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=${{ inputs.nextReleaseVersion }}.0-SNAPSHOT + org.eclipse.tycho:tycho-versions-plugin:set-parent-version -DnewParentVersion=${{ inputs.nextReleaseVersion }}.0-SNAPSHOT + - name: Create Pull Request for Release ${{ inputs.nextReleaseVersion }} uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 with: - commit-message: Update for release ${{ github.event.milestone.title }} - branch: update_R${{ github.event.milestone.title }} - title: Update for release ${{ github.event.milestone.title }} - body: A new release milstone was created, please review the changes and merge if appropriate. + token: ${{ secrets.githubBotPAT || secrets.GITHUB_TOKEN }} + commit-message: Update for release ${{ inputs.nextReleaseVersion }} + branch: update_R${{ inputs.nextReleaseVersion }} + title: Update for release ${{ inputs.nextReleaseVersion }} + body: A new release milestone was created, please review the changes and merge if appropriate. + author: ${{ inputs.botName }} <${{ inputs.botMail }}> + committer: ${{ inputs.botName }} <${{ inputs.botMail }}> delete-branch: true milestone: ${{ github.event.milestone.number }} add-paths: | From c26f9966cd51e34aa7782063a5ba68d993331bb5 Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Sat, 23 Nov 2024 11:55:34 +0100 Subject: [PATCH 2/3] Run prepareRelease workflow manually and set 'previous-release.baseline' --- .github/workflows/prepareRelease.yml | 35 +++++++++++++++++----------- Jenkinsfile | 1 - RELEASE.md | 6 ++++- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/.github/workflows/prepareRelease.yml b/.github/workflows/prepareRelease.yml index f67fabda7d3..ac22df9eea9 100644 --- a/.github/workflows/prepareRelease.yml +++ b/.github/workflows/prepareRelease.yml @@ -1,7 +1,16 @@ name: Prepare Next Release on: - milestone: - types: [created] + workflow_dispatch: + inputs: + nextReleaseName: + description: 'Next release name, e.g.: 2025-03' + required: true + nextReleaseVersion: + description: 'Next release name, e.g.: 4.35' + required: true + baselineRepository: + description: 'Previous release baseline repository, e.g.: 4.34-I-builds/I20241120-1800' + required: true permissions: contents: read @@ -9,7 +18,6 @@ permissions: jobs: prepare: runs-on: ubuntu-latest - if: contains(github.event.milestone.description, 'Release') permissions: pull-requests: write contents: write @@ -18,10 +26,6 @@ jobs: uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 with: maven-version: 3.9.9 - - id: get-release-name - run: | - name=$(echo ${{ github.event.milestone.due_on }} | cut -d- -f-2) - echo "name=$name" >> $GITHUB_OUTPUT - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: master @@ -32,15 +36,20 @@ jobs: distribution: 'temurin' cache: maven - name: Update Main Versions - run: mvn -U -ntp -f eclipse-platform-parent org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=${{ github.event.milestone.title }}.0-SNAPSHOT -Dmodules=../eclipse.platform.releng.prereqs.sdk + run: mvn -U -ntp -f eclipse-platform-parent org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=${{ inputs.nextReleaseVersion }}.0-SNAPSHOT -Dmodules=../eclipse.platform.releng.prereqs.sdk - name: Update Release Versions - run: mvn -ntp -f eclipse-platform-parent/pom.xml --non-recursive org.eclipse.tycho:tycho-versions-plugin:set-property -Dproperties=releaseVersion,releaseName -DnewReleaseName=${{ steps.get-release-name.outputs.name }} -DnewreleaseVersion=${{ github.event.milestone.title }} - - name: Create Pull Request for Release ${{ github.event.milestone.title }} + run: >- + mvn -ntp -f eclipse-platform-parent/pom.xml --non-recursive org.eclipse.tycho:tycho-versions-plugin:set-property + -Dproperties=releaseVersion,releaseName,previous-release.baseline + -DnewReleaseName=${{ inputs.nextReleaseName }} + -DnewReleaseVersion=${{ inputs.nextReleaseVersion }} + '-DnewPrevious-release.baseline=https://download.eclipse.org/eclipse/updates/${{ inputs.baselineRepository }}' + - name: Create Pull Request for Release ${{ inputs.nextReleaseVersion }} uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 with: - commit-message: Prepare Release ${{ github.event.milestone.title }} - branch: prepare_R${{ github.event.milestone.title }} - title: Prepare Release ${{ github.event.milestone.title }} + commit-message: Prepare Release ${{ inputs.nextReleaseVersion }} + branch: prepare_R${{ inputs.nextReleaseVersion }} + title: Prepare Release ${{ inputs.nextReleaseVersion }} body: A new Release Milstone was created, please review the changes and merge if appropriate. delete-branch: true milestone: ${{ github.event.milestone.number }} diff --git a/Jenkinsfile b/Jenkinsfile index 77a1be05b68..b154b280244 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,7 +23,6 @@ pipeline { anyOf { branch 'master' branch 'R*_maintenance' - branch 'prepare_R*' } } steps { diff --git a/RELEASE.md b/RELEASE.md index 5a78febe98f..f4bbdb5f66b 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -194,8 +194,12 @@ The release is scheduled for 10AM EST. Typically the jobs are scheduled beforeha #### **Create new Stream Repos:** - Run the [Create New Stream Repos](https://ci.eclipse.org/releng/job/Releng/job/newStreamRepos/) job to make an I-builds repo for the next release. +#### **Prepare:** + - Run the [prepareRelease](https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/actions/workflows/prepareRelease.yml) GH workflow to create a PR + to preapre eclipse-platform-parent/pom.xml for for the next release. + #### **Create Git Milestones for the next Release:** - - Milestones in git are created by running the create-milestones job in jenkins, usually after RC1 or RC2. Only specific users can access this job for security reasons. If milestones need to be created and have not please contact @sdawley @sravanlakkimsetti or @laeubi to run it. + - Milestones in git are created by running the `create-milestones` job in jenkins, usually after RC1 or RC2. Only specific users can access this job for security reasons. If milestones need to be created and have not please contact @sdawley @sravanlakkimsetti or @laeubi to run it. #### **Version Updates:** - Once the milestones are created (see above) the [Prepare Next Release](https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/actions/workflows/prepareRelease.yml) workflow will run, which will update pom and product versions for the Eclipse repositories and submit pull requests for the changes. From 60861ad9ae6c04eddc22371f40aa93c9f6376985 Mon Sep 17 00:00:00 2001 From: HannesWell <44067969+HannesWell@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:44:46 +0000 Subject: [PATCH 3/3] Prepare Release 4.36 --- eclipse-platform-parent/pom.xml | 10 +++++----- eclipse.platform.releng.prereqs.sdk/pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eclipse-platform-parent/pom.xml b/eclipse-platform-parent/pom.xml index 17cd40b3fb8..36d54fef29d 100644 --- a/eclipse-platform-parent/pom.xml +++ b/eclipse-platform-parent/pom.xml @@ -19,7 +19,7 @@ 4.0.0 org.eclipse eclipse-platform-parent - 4.35.0-SNAPSHOT + 4.36.0-SNAPSHOT pom - 2025-03 - 4.35 + 2025-06 + 4.36 all - https://download.eclipse.org/eclipse/updates/4.34-I-builds/I20241120-1800/ + https://download.eclipse.org/eclipse/updates/4.34-I-builds/I2026-1800