Skip to content

Conversation

@petruki
Copy link
Contributor

@petruki petruki commented Jun 21, 2025

Change log

Improves current "Main CI" workflow:

Modules ojp-grpc-commons and ojp-jdbc-driver are tested using Java 11, 17, 21 and 22
Module ojp-server is tested using Java 22 only

Refactored commons and driver for retro-compatibility

Modules can be compiled from Java 11-22
Most changes related to this refactory was replacing toList API from Java Stream with ArrayList and Java String blocks that are only available from Java 21.

Added new workflow for OJP Server Docker image build

See .github/workflows/main-docker.yml
This workflow only triggers when merged to main and changes made within common and server modules

It requires repository secrets

  • DOCKERHUB_USER
  • DOCKERHUB_TOKEN

Vars (perhaps we can keep this hard coded?)

  • DOCKERHUB_REPO

petruki added 3 commits June 12, 2025 22:17
)

* Improved CI workflow to build, test (matrix), push server Docker img

* Merged jobs server and driver

* Removed modules from matrix to test all at once

* Fixes build/test matrix execution

Fixes ojp-server build step by including missing modules (#5)

chore: lint ojp-server pom file

Moved ojp-server image build job to different workflow

Fixes main.docker.yml incorrect job

ci: added delay for server to start, fixed server docker settings
-Dimage="${DOCKERHUB_REPO}:latest" \
-Djib.to.auth.username="${DOCKERHUB_USER}" \
-Djib.to.auth.password="${DOCKERHUB_TOKEN}" \
-Djib.to.image="${DOCKERHUB_REPO}:latest" \
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We may want to keep the repository and image name hard-coded here. I use env vars to test with my own DockerHub account.
Another thing you may want to change is the tag. I set it to latest, but I saw that you are creating as 0.0.1-alpha
Let me know if you want to change this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I changed this to make only DockerHub repository configurable through Action vars.

Copy link
Owner

Choose a reason for hiding this comment

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

version is 0.0.3-alpha, we are not using latest for now to not look like it is a production ready version.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Repurposed the workflow to be dispatched manually.
You can run the workflow by providing tag (default: latest) and repository (default: rrobetti)

rrobetti and others added 4 commits June 21, 2025 21:10
…extra fixes of issues found during draft performance testing.
# Conflicts:
#	.github/workflows/main.yml
#	README.md
#	ojp-grpc-commons/pom.xml
#	ojp-jdbc-driver/pom.xml
#	ojp-jdbc-driver/src/main/java/org/openjdbcproxy/jdbc/Driver.java
#	ojp-jdbc-driver/src/main/java/org/openjdbcproxy/jdbc/PreparedStatement.java
#	ojp-jdbc-driver/src/main/java/org/openjdbcproxy/jdbc/ResultSet.java
#	ojp-jdbc-driver/src/main/java/org/openjdbcproxy/jdbc/ResultSetMetaData.java
#	ojp-server/dependency-reduced-pom.xml
#	ojp-server/pom.xml
#	pom.xml
@Override
public double getDouble(String columnLabel) throws SQLException {
return this.getDouble(this.labelsMap.get(columnLabel.toUpperCase()));
return this.getDouble(this.labelsMap.get(columnLabel.toUpperCase()) + 1);
Copy link
Contributor Author

@petruki petruki Jun 21, 2025

Choose a reason for hiding this comment

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

After rebasing I noticed this was missing.

@petruki
Copy link
Contributor Author

petruki commented Jun 27, 2025

@rrobetti The stress test PostgresMiniStressTest::testConnectionProperties has demonstrated to be flaky. My suggestion is to move those type of tests to a different module as they may not produce consistent results. They are necessary but can increase overhead and delay feedback.

petruki and others added 5 commits June 30, 2025 20:39
)

* Improved CI workflow to build, test (matrix), push server Docker img

* Merged jobs server and driver

* Removed modules from matrix to test all at once

* Fixes build/test matrix execution

Fixes ojp-server build step by including missing modules (#5)

chore: lint ojp-server pom file

Moved ojp-server image build job to different workflow

Fixes main.docker.yml incorrect job

ci: added delay for server to start, fixed server docker settings
* ci: fixes server module build JDK setup

* fix: instanceof in ResultSet incompatibility
Copy link
Owner

@rrobetti rrobetti left a comment

Choose a reason for hiding this comment

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

Great work Roger.

@rrobetti rrobetti merged commit a801db3 into rrobetti:main Jul 1, 2025
4 checks passed
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