Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build] Use last successful ECJ snapshot in verification builds #2538

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

HannesWell
Copy link
Member

Use the latest ECJ snapshot version from the last successful I-build (without comparator errors) for verification builds, to automatically align with I-builds.
Currently ECJ has to be deployed manually to a JDT snapshot-repository after changes in ECJ that caused comparator-errors:

This prevents issues like

If there are no other usages of https://repo.eclipse.org/content/repositories/eclipse-staging, this should make the JDT Jenkins job to deploy ECJ to it obsolete

as well as the target repository and should allow us to delete:
https://repo.eclipse.org/content/repositories/eclipse-staging

@jarthana and @akurtakov this is what we talked about in today's PMC call.
@MohananRahul can you please check if the release process documentation update is correct and fine?

@MohananRahul
Copy link
Contributor

@MohananRahul can you please check if the release process documentation update is correct and fine?

Ok , looks good.

Copy link
Member

@akurtakov akurtakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me but let's land it after 4.34 is branched to prevent possible last minute surprise.

@HannesWell
Copy link
Member Author

HannesWell commented Nov 14, 2024

Looks good to me but let's land it after 4.34 is branched to prevent possible last minute surprise.

Acknowledge.

I have now changed this PR to use a version range for cbi-ecj-version:
<cbi-ecj-version>[3.40.0,4)</cbi-ecj-version>

This way the version does not have to be updated at all as long as ECJ stays at version 4.x. I tried this out in eclipse-pde/eclipse.pde#1467 and it worked as expected.
If we use this, we can simplify the release procedure and just drop the update step.
WDYT?

@laeubi
Copy link
Contributor

laeubi commented Nov 15, 2024

Maven version ranges can give surprising results, e.g. a version of 4.0.0-alpha1 is included in your range.
It is also bad in terms of reproducibility as older branches will get suddenly newer releases.

@HannesWell
Copy link
Member Author

Maven version ranges can give surprising results, e.g. a version of 4.0.0-alpha1 is included in your range.

In general for the master branch I assume that we want the latest version anyways, so the upper bound could be empty/infinity.

It is also bad in terms of reproducibility as older branches will get suddenly newer releases.

OK, for older branches this is indeed probably not wanted. I reverted that part.
Overall this is still a significant simplification.

If there are no other usages of https://repo.eclipse.org/content/repositories/eclipse-staging, this should make the JDT Jenkins job to deploy ECJ to it obsolete

* https://ci.eclipse.org/jdt/job/copyAndDeployJDTCompiler/

as well as the target repository and should allow us to delete: https://repo.eclipse.org/content/repositories/eclipse-staging

@jarthana or @akurtakov can you tell if there are other users of that repository? If not I suggest we delete that repository and see if there are any unknown users. And if nobody complains or someone cannot be moved to the maven-repo into that the I-builds deploy, we can continue to delete the Jenkins job too.

@akurtakov
Copy link
Member

In the light of #2595 what prevents this one from merging? I'm not troubled by 4.0.0-alpha at all. There is no way to know whether this staging repo is used by anyone else but being "staging" means I have no concerns about changes in it.

Use the latest ECJ snapshot version from the last successful I-build
(without comparator errors) for verification builds, to automatically
align with I-builds.
Currently ECJ has to be deployed manually to a JDT snapshot-repository
after changes in ECJ that caused comparator errors. This change makes
that JDT snapshot repository is obsolete.
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.

4 participants