-
Notifications
You must be signed in to change notification settings - Fork 299
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
Migrate Teku to Java 21 #8462
Migrate Teku to Java 21 #8462
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
Migrated Teku to Java 21, updating build configurations, dependencies, and Docker setups.
- Updated
.circleci/config.yml
to usecimg/openjdk:21.0.2
for all CircleCI jobs. - Modified
build.gradle
to set source and target compatibility to Java 21. - Deleted
docker/jdk17/Dockerfile
and addeddocker/jdk21/Dockerfile
for Java 21. - Updated
gradle/versions.gradle
to use Hyperledger Besu 24.7.0. - Refactored
beacon/sync/src/main/java/tech/pegasys/teku/beacon/sync/forward/multipeer/batches/SyncSourceBatch.java
andPeerSync.java
to use Java 21 features.
9 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/RandomSszDataGenerator.java
to suppress warnings forPatternMatchingInstanceof
, aligning with Java 21's new features. - No significant logical changes were made to the functionality of the
RandomSszDataGenerator
class.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
build.gradle
to set source and target compatibility to Java 21. - Modified CircleCI configuration to use OpenJDK 21 images.
- Updated Besu libraries to ensure compatibility with Java 21.
- Added
docker/jdk21/Dockerfile
to create a custom runtime and install Teku on Ubuntu 24.04 with JDK 21. - Adjusted
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/RandomSszDataGenerator.java
to suppressPatternMatchingInstanceof
warnings.
No file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/RandomSszDataGenerator.java
to use Java 21's pattern matching forinstanceof
. - Modified
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/SszDataAssert.java
to leverage Java 21's pattern matching forinstanceof
. - Ensured all tests pass to verify the new syntax does not introduce issues.
2 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/RandomSszDataGenerator.java
to use Java 21's pattern matching forinstanceof
. - Modified
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/SszDataAssert.java
to leverage Java 21's pattern matching forinstanceof
. - Ensured all tests pass to verify the new syntax does not introduce issues.
No major changes found since the last review.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
infrastructure/ssz/src/testFixtures/java/tech/pegasys/teku/infrastructure/ssz/SszTestUtils.java
to use Java 21 features liketoList()
andinstanceof
pattern matching. - Ensured compatibility with Java 21 by changing CircleCI openjdk images to 21.
- Updated Besu libraries to support Java 21.
No major changes found since the last review.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
infrastructure/ssz/src/test/java/tech/pegasys/teku/infrastructure/ssz/schema/TreeNodeAssert.java
to use Java 21's pattern matching forinstanceof
. - Changed source/target compatibility to Java 21.
- Updated CircleCI openjdk images to version 21.
- Upgraded Besu libraries to ensure compatibility with Java 21.
No major changes found since the last review.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
fork-choice-tests/src/integration-test/java/tech/pegasys/teku/forkChoiceTests/ForkChoiceIntegrationTest.java
to use Java 21 features like pattern matching andtoList()
. - Changed source/target compatibility to Java 21.
- Updated CircleCI openjdk images to version 21.
- Upgraded Besu libraries to ensure compatibility with Java 21.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
d48c021
to
65c1ee3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
.circleci/config.yml
to usecimg/openjdk:21.0.2
for CI builds. - Modified
build.gradle
to set source and target compatibility to Java 21. - Deleted
docker/jdk17/Dockerfile
and addeddocker/jdk21/Dockerfile
for Java 21. - Updated
NodeDataProvider
andDataProvider
to include new parameters and methods for handling recent chain data. - Enhanced
NodeDataProviderTest.java
with new tests forgetAttestationsAndMetaData
method.
17 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
eth-reference-tests/src/referenceTest/java/tech/pegasys/teku/reference/phase0/ssz_generic/SszGenericContainerTestExecutor.java
to leverage Java 21's enhanced pattern matching. - Updated
.circleci/config.yml
to usecimg/openjdk:21.0.2
for CI builds. - Modified
build.gradle
to set source and target compatibility to Java 21. - Deleted
docker/jdk17/Dockerfile
and addeddocker/jdk21/Dockerfile
for Java 21. - Updated Besu libraries to ensure compatibility with Java 21.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
.circleci/config.yml
to usecimg/openjdk:21.0.2
for CI builds. - Modified
build.gradle
to set source and target compatibility to Java 21. - Deleted
docker/jdk17/Dockerfile
and addeddocker/jdk21/Dockerfile
for Java 21. - Updated Besu libraries to ensure compatibility with Java 21.
- Corrected indentation in
eth-reference-tests/src/referenceTest/java/tech/pegasys/teku/reference/phase0/ssz_generic/SszGenericContainerTestExecutor.java
for better readability.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
.circleci/config.yml
to support Java 21, ensuring CI pipeline compatibility. - Modified
build.gradle
to set source and target compatibility to Java 21. - Added
docker/jdk21/Dockerfile
for Java 21, replacing the old JDK 17 Dockerfile. - Updated Besu libraries to ensure compatibility with Java 21.
- Corrected indentation in
eth-reference-tests/src/referenceTest/java/tech/pegasys/teku/reference/phase0/ssz_generic/SszGenericContainerTestExecutor.java
for better readability.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
(updates since last review)
The migration to Java 21 for Teku includes updates to build configurations, dependencies, and Docker setups.
- Updated
.circleci/config.yml
to support Java 21, ensuring CI pipeline compatibility. - Modified
build.gradle
to set source and target compatibility to Java 21. - Added
docker/jdk21/Dockerfile
for Java 21, replacing the old JDK 17 Dockerfile. - Updated Besu libraries to ensure compatibility with Java 21.
- Corrected indentation in
eth-reference-tests/src/referenceTest/java/tech/pegasys/teku/reference/phase0/ssz_generic/SszGenericContainerTestExecutor.java
for better readability.
1 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
d0b2238
to
a091929
Compare
Teku docs already mention that Java 21+ is required: https://docs.teku.consensys.io/development/get-started/install/build-from-source#prerequisites |
PR Description
Fixed Issue(s)
fixes #8381
Documentation
doc-change-required
label to this PR if updates are required.Changelog