Skip to content

Conversation

@HannesWell
Copy link
Member

This introduces a new Jenkins job Prepare next Development Cycle that carries out many of the preparation tasks and aims to further enhance the release preparation automation. This includes

  • Updating the version of the Maven parent, all references to it and the Eclipse products
  • Updating the release version across build scripts
  • Updating the previous release version to the current Release-Candidate

These tasks are currently done partly manually and partly automatically, but through a mixture of the (hidden) Jenkins job to create-milestones and distributed GH workflows that perform the Maven version updates upon the creation of new milestones.
Having one central job simplifies the understanding of the preparation process.

This PR is just the first step and it's the goal to move more preparation steps into this Jenkins job in order to automate currently manually executed step or to reduce the number of involved Jenkins jobs. All of this also ensures that the steps are always executed in the right order.

When applying the version updates, the script 'getPreviousRelease.sh' is not considered as it seems to be unused and is intended to be removed soon.

@HannesWell
Copy link
Member Author

This is currently a draft, but I have tested most steps of it already and plan to conduct a (almost) complete test of it tomorrow.

@HannesWell
Copy link
Member Author

This is currently a draft, but I have tested most steps of it already and plan to conduct a (almost) complete test of it tomorrow.

The testing was successful and this is ready for submission.

I have also asked the infra team to associate the eclipse-releng-bot mail with the corresponding bot account and make sure that it passes the ECA:

In I-builds commits with that mail are pushed to the releng.aggregator directly without ECA validation, which is probably why this was never noticed.

@HannesWell HannesWell force-pushed the release-preparation-jenkins-job branch from 7a988a7 to 6bf2539 Compare June 3, 2025 00:37
@HannesWell
Copy link
Member Author

The verification build does not test this, thus submitting this now.

With this also the updateRelease GH workflows in all submodule repositories, like e.g. https://github.com/eclipse-pde/eclipse.pde/blob/master/.github/workflows/updateRelease.yml, becomes obsolete (and unusable), as intended. I'll create PRs to remove these dangling references soon.

@HannesWell HannesWell force-pushed the release-preparation-jenkins-job branch from 6bf2539 to 31e1855 Compare June 3, 2025 00:43
This introduces a new Jenkins job named `Prepare Next Development Cycle`
that carries out many of the preparation tasks and aims to further
enhance the release preparation automation. This includes
- Updating the version of the Maven parent, all references to it and the
Eclipse products
- Updating the release version across build scripts
- Updating the previous release version to the current Release-Candidate

These tasks are currently done partly manually and partly automatically,
but through a mixture of the (hidden) Jenkins job to create-milestones
and distributed GH workflows that perform the Maven version updates upon
the creation of new milestones.
Having one central job simplifies to understand the preparation process.
It also ensures that the steps are always executed in the right order.

The script 'getPreviousRelease.sh' is not considered as it seems to be
unused and is intended to be removed soon.
@HannesWell HannesWell force-pushed the release-preparation-jenkins-job branch from 31e1855 to 1480f37 Compare June 3, 2025 00:45
@HannesWell HannesWell merged commit e42c00a into eclipse-platform:master Jun 3, 2025
5 of 6 checks passed
@HannesWell HannesWell deleted the release-preparation-jenkins-job branch June 3, 2025 00:48
@HannesWell
Copy link
Member Author

Most of the build worked, but it wasn't a complete success:

Additionally the following changes are missing:

@MohananRahul
Copy link
Contributor

Additionally the following changes are missing:

Also :
eclipse-pde/eclipse.pde#1796
eclipse-equinox/p2#860

@HannesWell
Copy link
Member Author

This is missing as well:

HannesWell added a commit to HannesWell/eclipse.platform.releng.aggregator that referenced this pull request Jun 22, 2025
Fix the following bugs discovered during the first usage during the
preparation of the current development cycle:
- Skip unchanged submodules when creating PRs
- Skip ready-only repositories when creating milestones in GH

Follow-up on
- eclipse-platform#3078
HannesWell added a commit to HannesWell/eclipse.platform.releng.aggregator that referenced this pull request Jun 22, 2025
Fix the following bugs discovered during the first usage during the
preparation of the current development cycle:
- Skip unchanged submodules when creating PRs
- Skip ready-only repositories when creating milestones in GH

Follow-up on
- eclipse-platform#3078
HannesWell added a commit that referenced this pull request Jun 22, 2025
Fix the following bugs discovered during the first usage during the
preparation of the current development cycle:
- Skip unchanged submodules when creating PRs
- Skip ready-only repositories when creating milestones in GH

Follow-up on
- #3078
@HannesWell
Copy link
Member Author

The automated preparation pipeline also missed

and could also do (at least the job-dsl update would be simple)

@HannesWell
Copy link
Member Author

HannesWell commented Jun 24, 2025

The encountered definitiv bugs in the release preparation pipeline have been fixed with

The new stream repositories are now properly created, initially with a reference to the previous RC, via

and this reference is also properly cleaned up when successful I builds are added since

With that the preparation pipeline should be fully functional in the sense that all kind of version increments and preparatory steps are performed in a way that the Maven parent version increments changes created for all sub-modules should also receive the then required version increments automatically.

From now on the pipeline can be extended to also handle cases of missing files we have collected in the previous round. Precisely these are the following files

Some of these missing updates can be made obsolete by replacing the updated files with something that doesn't need to be updated and some have to be added to the preparation pipeline. I'll update this comment with the corresponding solutions when they are implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants