Skip to content

Conversation

@duanemay
Copy link
Member

@duanemay duanemay commented Nov 5, 2025

  • Bump bouncyCastleFipsVersion to 2.1.2 in dependencies.
    • org.bouncycastle.native.loader.install_dir allows a user to specify where the .so files should be found
    • Docker may not have system tmp mounted as executable
    • Create and utilize separate temporary directory for integration tests.
    • Adjust JVM options to reference the new temp directory in the script.
  • Check server readiness via HTTP instead of log file parsing
    • Handle boot timeout with additional logging: JVM diagnostics and SIGQUIT for stuck processes.
  • Add logging config to integration tests
    • Eliminate the error that log config was not found
  • Adjust Gradle settings
    • Add timeout to gradle integrationTest task
    • Reduce Gradle max workers to 2 in integration tests
    • Compiling test Java classes separate from execution
    • Change memory settings on integration Test task
  • Update Selenium headless mode and Chrome flags for improved reliability in Docker/CI environments.
  • Update JVM GC strategy to G1 in integration tests

strehle
strehle previously approved these changes Nov 6, 2025
strehle
strehle previously approved these changes Nov 7, 2025
…ion test scripts

- org.bouncycastle.native.loader.install_dir allows a user to specify where the .so files should be found
- Bump `bouncyCastleFipsVersion` to 2.1.2 in dependencies.
- Create and utilize separate temporary directory for integration tests.
- Adjust JVM options to reference the new temp directory in the script.
- Docker may not have system tmp mounted as executable
- Handle boot timeout with additional logging and `SIGQUIT` for stuck processes.
Eliminate the error that log config was not found
…er/CI environments

The traditional --headless, and since version 96, Chrome has a new headless mode that allows users to get the full browser functionality (even run extensions). Between versions 96 to 108 it was --headless=chrome, after version 109 --headless=new.

Using --headless=new should bring a better experience when using headless with Selenium.
…dump_on_boot_pid` function

- Centralize JVM diagnostics and thread dump logic in a reusable function.
- Replace in-line logic with `thread_dump_on_boot_pid` call for better readability and maintainability.
- Switch from ParallelGC to G1 for better performance.
- Add `--no-watch-fs` flag to Gradle tasks to eliminate warning exception in docker container
- Export `DBUS_SESSION_BUS_ADDRESS` to avoid session errors during tests.
- Add Chrome stability flags for improved reliability in Docker/CI environments.
@duanemay
Copy link
Member Author

The Failures on the latest commit were both in SessionControllerIntegrationTests > sessionManagementPageHasVariablesSet() FAILED
org.openqa.selenium.JavascriptException: javascript error: clientId is not defined

@duanemay duanemay changed the title Update Bouncy Castle to 2.1.2 and temp directory handling Fix Integration Tests (original attempt) Nov 12, 2025
duanemay and others added 5 commits November 12, 2025 17:09
- Export `GRADLE_OPTS` with updated JVM GC strategy and memory limits.

Co-authored-by: Joe Mahady <[email protected]>
- Compiling test Java classes separate from execution

Co-authored-by: Filip Hanik <[email protected]>
@duanemay duanemay changed the title Fix Integration Tests (original attempt) Fix Integration Tests Nov 12, 2025
@duanemay
Copy link
Member Author

part of #3666

@duanemay duanemay closed this Nov 13, 2025
@github-project-automation github-project-automation bot moved this from Pending Merge | Prioritized to Done in Foundational Infrastructure Working Group Nov 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants