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

[branch-4.16] Fix CI in branch-4.16 #4206

Conversation

lhotari
Copy link
Member

@lhotari lhotari commented Feb 8, 2024

Cherry-picks #4197 . The main reason to cherry-pick the change is to fix integration tests & CI,
fix running Bookkeeper binaries on Java 8 when compiled on Java 11 (#4202) and to make it possible
to maintain the Pulsar 3.0 LTS branch which uses Bookkeeper 4.16.x .

@lhotari lhotari force-pushed the lh-add-support-for-junit5-tests-branch-4.16 branch from 0e02ce1 to 7090cab Compare February 8, 2024 19:51
@lhotari lhotari changed the title [branch-4.16] Add support for Junit5 tests and fix CI that has been broken (#4197) [branch-4.16] Fix CI in branch-4.16 Feb 9, 2024
lhotari and others added 2 commits February 9, 2024 09:38
…4197)

* Add support for Junit5 tests

- upgrade surefire plugin
- replace <forkMode>always</forkMode> with supported way in newer maven-surefire-plugin
- maven-failsafe-plugin version must match maven-surefire-plugin version
- remove invalid test case. Log4j is in the classpath for other reasons
  checked by running
  "mvn -pl tests/integration-tests-utils/pom.xml test -X"
  also verified by debugging that it's not in the system classpath, it is loaded by the
  MavenClassLoader
- add assertj-core for fluent assertions in tests

* Upgrade arquillian-junit-standalone

* Fix error in pom.xml

* Fix java.lang.ClassNotFoundException: javax.ws.rs.ProcessingException

* Pick docker-java-api version that is compatible with arquillian-cube-docker

* Fix snakeyaml issue

* Fix running of bookkeeper in Docker in tests

* Improve GitHub Actions CI workflow logging

* Increase client tests timeout

* Add script for picking fast ubuntu mirror for docker build

* upgrade maven-dependency-plugin version (used for copying .tar.gz for docker image building)

* Fix building of the docker image

* Increase timeouts for integration tests

* Use eclipse-temurin base image

* Replace "FROM ubuntu:22.10" with "FROM ubuntu:22.04" to use LTS version of ubuntu

22.10 (kinetic) is EOL since July 20 2023

* Build docker image also for backward-compatibility-tests

* Install gpg that is required by the scripts

* Add UBUNTU_MIRROR

* Remove redundancy from integration tests

* Fix missing dependency

* Fix classpath issues for arquillian-cube

* Upgrade actions versions

* Fix invalid references in native-io/pom.xml

* Fix circe-checksum native library compilation

* Migrate Gradle specific settings to Maven

* Another attempt to disable backward-compat tests in integration test build job

* Add working solution for skipping backward compat tests in the int tests

* Attempt to fix issue in locating the file

* Fix tar file extraction

* Improve solution

* Backward compat tests build commands without int tests

* Copy tune-runner-vm and clean-disk from Pulsar CI and clean disk

* Revisit skipping of backward compat tests once again

* Use similar MAVEN_OPTS as there is in Pulsar

* Fix directory

* Add way to find git root directory

* Revisit one more time

* Add current-version-image back

* Enable tests for backwardCompatTests

* Don't create /ledgers in ZK if it already exists

* Add uncaughtexceptionhandler

* Add exclusions for reload4j

* Use maven-surefire 2.8.1 for certain tests

* Add failing test back in, also fails with surefire 2.8.1

* Exclude logging implementations

* Revert "Use maven-surefire 2.8.1 for certain tests"

This reverts commit 94e2b8e.

* Exclude log4j

* Add instructions how to run on Mac Apple Silicon

* Find slf4j version

* Block loading some classes

* Change context classloader while creating new bookkeeper

* Route commons logging to slf4j

* Update shrinkwrap.version

* Wait for ZK client to shutdown before returning from close

* Upgrade Groovy version

* Remove arquillian-junit-container which causes tests to be run twice

* Skip backward compat tests unless -DbackwardCompatTests is passed

* Delay closing of classloaders by 5 seconds

* Fix checkstyle

* Improve instructions for running tests

* Upgrade Testcontainers and import the bom in dependencyManagement

* Fix synchronization bug pointed out by spotbugs

* upgrade markdown-link-check

* Ignore checking Google calendar for dead links

* Ignore anchors

* Add 2 more patterns to dead link checker exclusions

* Collect logs

* Log integration tests to console to observe progress, disable retries

* Use maven version provided by GitHub Action runner

* Improve instructions for docker socket proxy

* Add test timeout of 5 minutes for BookieShellTestBase

* Fix test to match changes made in e41d672

* Upgrade mockito to 4.11.0

* Align hamcrest with junit

* Revert "Upgrade mockito to 4.11.0"

This reverts commit 55b7fcd.

* Make JAVA_HOME optional

* Tune Java's DNS cache timeouts for docker images

* Use different directory for JDK 8

* Add tooling to containers that help debugging

* Upgrade JMH version and configuration

* Specify maven.compiler.release to fix issues with building with Java 11

* Remove gmavenplus plugin since there's already groovy-eclipse compiler in use

* Upgrade apache-rat-plugin

* Fix validation step

* Don't import shaded class

* Move freebuilder out of distributed libraries (there was invalid config for the annotation processor)

* Remove use of shaded class in test

* Upgrade junit5, assertj-core & awaitility to latest stable

* Fix simpletest logic

- LAC is updated asynchronously. Entries might be unconfirmed when read before ledger is closed.
- The last entry id passed to the read method was invalid

* Fix SimpleTestCommandTest

---------

Co-authored-by: Matteo Merli <[email protected]>
(cherry picked from commit 7bd91a7)
@merlimat merlimat merged commit b02ba56 into apache:branch-4.16 Feb 9, 2024
19 checks passed
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.

3 participants