Skip to content

Conversation

@hongwei1
Copy link
Collaborator

@hongwei1 hongwei1 commented Jan 9, 2026

No description provided.

…timing

- Update set_terminal_style() to use phase-specific background colors (gray for starting, orange for building, blue for testing, green for complete)
- Add get_time_ms() function to capture millisecond timestamps across macOS and Linux platforms
- Implement record_phase_time() function to track duration of each test execution phase (starting, building, testing, complete)
- Store phase timing data in temporary file for performance analysis
- Replace grep -P (PCRE) with sed-based parsing for macOS compatibility in generate_summary()
- Update test statistics extraction to sum values across all modules instead of just the last run
- Add cleanup for stale phase_timing.tmp file during initialization
- Improve parsing of Maven output for duration, test counts, and test results using portable sed commands
- Update log_message function to write messages to both summary and detail log files
- Add output redirection to DETAIL_LOG in addition to existing SUMMARY_LOG
- Improve logging documentation comment to reflect dual log file writes
- Ensures comprehensive logging across all test execution phases
…est execution

- Increase JVM heap memory from 512m to 2-4G for faster test execution
- Add G1GC garbage collector and tiered compilation for improved performance
- Enable parallel test execution with threadCount=4 to avoid shared state issues
- Add incremental recompilation mode and Zinc server for faster builds
- Increase Scala compiler JVM memory from 64m/1024m to 512m/2G
- Add language feature flags to suppress compiler warnings
- Add test-results directory to .gitignore for cleaner repository
- Apply optimizations consistently across obp-api, obp-commons, and root pom.xml
- These changes reduce build and test execution time while maintaining stability
… build

- Change branch filter pattern from '*' to '**' for improved glob matching
- Ensures workflow triggers on all branches except develop with correct pattern syntax
- Improves CI/CD pipeline reliability by using proper wildcard pattern matching
…unctionality

- Add HTML report generation step using mvn surefire-report:report-only
- Create dedicated html-reports directory in test results for organized report storage
- Copy surefire HTML reports from both obp-api and obp-commons modules
- Check multiple report locations (target/surefire-reports and target/site)
- Display generated HTML report paths in final test summary output
- Improve test result accessibility by centralizing HTML reports in one location
…tion

- Reduce initial heap size from 4G to 1G for faster startup
- Lower maximum heap size from 12G to 3G for resource efficiency
- Add stack size configuration (-Xss4m) for thread optimization
- Reduce metaspace size from 4G to 1G to minimize memory overhead
- Improve build performance on resource-constrained environments while maintaining compilation stability
…t copying

- Update surefire report filename from surefire-report.html to surefire.html
- Add copying of CSS, JS, images, fonts, and img directories for proper report rendering
- Copy report assets for both obp-api and obp-commons modules
- Add error suppression for missing asset directories to prevent script failures
- Clarify alternative naming convention in site reports location comment
- Ensure HTML reports render correctly with all required static assets
- Change maven.test.failure.ignore property from true to false
- Enable Maven to fail the build when tests fail instead of ignoring failures
- Ensure build pipeline properly detects and reports test failures
- This change restores strict test failure handling for CI/CD pipelines
…se conflicts

- Disable parallel test execution in obp-api module to avoid shared H2 database state issues
- Disable parallel test execution in obp-commons module for consistency
- Set parallel configuration to false across both modules
- Comment out threadCount configuration as it is no longer needed
- Tests share an in-memory H2 database which causes conflicts when run concurrently
- This resolves intermittent test failures caused by database state contamination between parallel test runs
…support

- Make script executable by updating file permissions
- Remove global `set -e` to prevent grep failures and handle errors explicitly
- Add `--timeout=<minutes>` command line argument for test execution timeout
- Enhance command line argument parsing to support multiple arguments via case statement
- Improve port availability checking with fallback to alternative ports
- Add `find_available_port()` function to search for available ports in range
- Implement dynamic port configuration when primary port is unavailable
- Add error handling with `2>/dev/null` redirects to grep commands in summary generation
- Improve stale process cleanup with safer command substitution
- Add timeout variable initialization for future timeout implementation
- Enhance logging messages with variable port numbers instead of hardcoded values
- Improve robustness of port killing and verification logic with explicit checks
- Change double quotes to single quotes in grep regex pattern
- Improve shell script best practices for pattern matching
- Ensure consistent quoting style with grep -E flag usage
- Increase initial heap size from 1G to 4G (-Xms)
- Increase maximum heap size from 3G to 12G (-Xmx)
- Increase metaspace size from 1G to 4G (-XX:MaxMetaspaceSize)
- Improve compilation performance and reduce out-of-memory errors during large-scale builds
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 9, 2026

@simonredfern simonredfern merged commit 5d0ed75 into OpenBankProject:develop Jan 9, 2026
2 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