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

Issues/135 enable parallel maven builds #136

Merged
merged 11 commits into from
Nov 27, 2023

Conversation

hhund
Copy link
Member

@hhund hhund commented Nov 14, 2023

Enables parallel maven builds with parallel test execution.

The PostgreSQL container for JUnit database and integration tests is now started via the testcontainers library. PostgreSQL containers and FHIR jetty servers now use random tcp ports.

With mvn install -DforkCount=4 -T2C maven modules can be build in parallel and multiple test classes executed concurrently. The parameter -T2C results in two threads per CPU core used to build maven modules. With -DforkCount=4 parallel execution of 4 JUnit test classes can be enabled. Note, this means that for database tests, multiple PostgreSQL containers and for integration tests multiple database containers and jetty servers will be running.

Removes not needed batch/bash scripts to start PostgreSQL DB for running JUnit tests via IDE.

Adds javadoc to BasicFhirWebserviceClient.

closes #135

The PostgreSQL container for JUnit database and integration tests is now
started via the testcontainers library. PostgreSQL containers and FHIR
jetty servers now use random tcp ports.

With `mvn install -DforkCount=4 -T2C` maven modules can be build in
parallel and multiple test classes executed concurrently. The parameter
-T2C results in two threads per CPU core used to build maven modules.
With -DforkCount=4 parallel execution of 4 JUnit test classes can be
enabled. Note, this means that for database tests, multiple PostgreSQL
containers and for integration tests multiple database containers and
jetty servers will be running.

Removes not needed batch/bash scripts to start PostgreSQL DB for running
JUnit tests via IDE.

Adds javadoc to BasicFhirWebserviceClient.
@hhund hhund added this to the 1.4.0 milestone Nov 14, 2023
@hhund hhund requested a review from wetret November 14, 2023 23:01
@hhund hhund self-assigned this Nov 14, 2023
@hhund hhund linked an issue Nov 14, 2023 that may be closed by this pull request
@hhund hhund requested a review from wetret November 20, 2023 16:20
@@ -162,12 +162,13 @@
<dependency>
<groupId>de.hs-heilbronn.mi</groupId>
<artifactId>crypto-utils</artifactId>
<!-- Can't update to 4.0.0 as renamed packages in crypto-utils would break existing process plugins -->
Copy link
Member

Choose a reason for hiding this comment

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

New API version needed?

Copy link
Member Author

Choose a reason for hiding this comment

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

Generally yes, but as long as we want to support API v1 we need to keep crypto-utils 3.8.0 around. At least as part of the process plugins parent class loader. For future versions of the API we should try to minimize dependencies and transitive dependencies.

Reverted build workflow back to old single-step config. Removed
pull_request trigger from build workflow to suppress duplicate runs.
Pull requests from forks should be merged into issues branches before
merging into develop if CI run is required.

Enabled parallel maven module builds for all workflows.
@hhund hhund merged commit 42e225c into develop Nov 27, 2023
1 check passed
@hhund hhund deleted the issues/135_Enable_Parallel_Maven_Builds branch February 22, 2024 15:03
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.

Enable Parallel Maven Builds
2 participants