Skip to content

Pull #18253: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines#18253

Merged
romani merged 1 commit into
checkstyle:masterfrom
aclfe:18251-ci-fix
Dec 9, 2025
Merged

Pull #18253: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines#18253
romani merged 1 commit into
checkstyle:masterfrom
aclfe:18251-ci-fix

Conversation

@aclfe

@aclfe aclfe commented Dec 6, 2025

Copy link
Copy Markdown
Contributor

Issue #18251

Just added org.eclipse.jdt.core.compiler.problem.memberOfDeprecatedTypeNotDeprecated=ignoreonto config/org.eclipse.jdt.core.prefs

@aclfe aclfe force-pushed the 18251-ci-fix branch 7 times, most recently from 942f3b6 to 2266265 Compare December 6, 2025 10:02
@romani

romani commented Dec 6, 2025

Copy link
Copy Markdown
Member

Thanks a lot for helping.
More problems:

In eclipse, Preview of features is supported only at the latest source level
JAVA_RELEASE isset to 24
Executing eclipse compiler on generated resources with all warnings suppressed...
Content of target/eclipse/report.txt:
Preview of features is supported only at the latest source level
[ERROR] Command execution failed.

@aclfe aclfe force-pushed the 18251-ci-fix branch 4 times, most recently from fb4efa6 to ebafe1e Compare December 7, 2025 00:32
@romani

romani commented Dec 7, 2025

Copy link
Copy Markdown
Member

Thanks a lot for help.

Please apply https://github.com/checkstyle/checkstyle/wiki/How-to-run-certain-phases-and-validations#how-to-create-commit-that-skips-all-ci
To let you run only semaphore, and not other CIs

@aclfe

aclfe commented Dec 7, 2025

Copy link
Copy Markdown
Contributor Author

Thanks for pointing that out, sorry for not isolating just semaphore CI test.

@aclfe aclfe force-pushed the 18251-ci-fix branch 8 times, most recently from 970d54a to e1a4acb Compare December 7, 2025 11:38
@aclfe aclfe changed the title Issue #18251: infra: Fixing the org.eclipse.jdt.core.prefs file Issue #18251: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Dec 7, 2025
@aclfe

aclfe commented Dec 7, 2025

Copy link
Copy Markdown
Contributor Author

@romani

Thank you so much for being patient with me while I was burning CI credits.
I'm happy to say, the error has been resolved.

do I need to re run in order to pass the Internal Server Error (500) error: Pitest / test (api) (pull_request)? can you please re run it so it passes?


Solution

As of now, I've pinned the version of Eclipse to R-4.37-202509050730 rather than have it scrape the newest version. I've made this change because I believe we need to be ready before transitioning to their updates to not break our CI pipelines. I hope that makes sense.

@romani

romani commented Dec 8, 2025

Copy link
Copy Markdown
Member

This is not a fix for issue to use latest eclipse static analysis, but it is workaround to stop using latest from web and use what is already in our artifacts cache.

Please put in commit message reference to this PR , "Pull #18253: ....". We will merge this PR as workaround, and we will change issue to be for migration to new eclipse version

@romani romani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Item

Comment thread .ci/eclipse-compiler-javac.sh Outdated
Comment thread .ci/eclipse-compiler-javac.sh
Comment thread .ci/eclipse-compiler-javac.sh Outdated
Comment thread .ci/validation.sh Outdated
Comment thread config/org.eclipse.jdt.core.prefs Outdated
@aclfe

aclfe commented Dec 8, 2025

Copy link
Copy Markdown
Contributor Author

Thanks for replying, I'll make all the changes as requested. I must have missed them.

Though I'm curious about the long-term strategy here, I want to understand properly. If we revert to a dynamic version in the future, doesn't that leave the CI pipeline vulnerable to breaking again whenever a new update is released? (sort of like this instance?)

Or is the goal to intentionally break early so we can ensure CheckStyle always adheres to the latest static analysis standards, rather than accumulating onto an older version?

@aclfe aclfe changed the title Issue #18251: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Pull #18253: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Dec 8, 2025
@aclfe aclfe changed the title Pull #18253: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Pull #18251: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Dec 8, 2025
@aclfe aclfe force-pushed the 18251-ci-fix branch 2 times, most recently from a42d854 to faf5343 Compare December 8, 2025 18:53
…er than being dynamic to not break CI pipelines
@aclfe aclfe requested a review from romani December 8, 2025 19:54
@aclfe aclfe changed the title Pull #18251: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Pull #18253: infra: Fixing ECJ's version to be pinned, rather than being dynamic to not break CI pipelines Dec 9, 2025
@romani

romani commented Dec 9, 2025

Copy link
Copy Markdown
Member

vulnerable to breaking again whenever a new update is released?

It was was that fragile.
On stable version it becomes hard to remember to update, so we will stay in old for years until someone notices this.

@romani romani left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks a lot

@romani romani merged commit 6f67753 into checkstyle:master Dec 9, 2025
123 checks passed
@github-actions github-actions Bot added this to the 12.3.0 milestone Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants