sqrl
sqrl copied to clipboard
Replace uber-jar with Jib layered Docker build
Summary
- Replaced Maven shade plugin uber-jar approach with Jib maven plugin for layered Docker builds
- Migrated from fat JAR to separate dependency and application layers for better Docker layer caching
- Resolved dependency conflicts with guice-multibindings and flink-s3-fs-hadoop shading issues
- Added DataSQRL's fixed flink-s3-fs-hadoop version to avoid Jackson/Guava conflicts
- Fixed resource loading by using Jib's generated classpath file
Changes Made
- Removed shade plugin configuration from sqrl-cli/pom.xml
- Added Jib maven plugin with layered image configuration
- Updated Dockerfile to use separate dependency and application layers
- Fixed entrypoint.sh to use Jib's classpath including resources directory
- Updated dependency management to use DataSQRL's flink-s3-fs-hadoop:1.19.3-6
- Added GitHub Packages repository for DataSQRL artifacts
- Resolved guice version conflicts by standardizing on 7.0.0
- Added Maven enforcer rules to prevent problematic dependency versions
Test plan
- [x] Build Docker image using Jib
- [x] Verify container starts without permission errors
- [x] Confirm resource loading works (server-config.json)
- [ ] Run integration tests to verify full functionality
- [ ] Test Docker layer caching behavior
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 11.33%. Comparing base (b6b0fc6) to head (a058134).
:white_check_mark: All tests successful. No failed tests found.
Additional details and impacted files
@@ Coverage Diff @@
## main #1511 +/- ##
=============================================
- Coverage 60.10% 11.33% -48.78%
+ Complexity 2585 571 -2014
=============================================
Files 484 484
Lines 14932 14932
Branches 1830 1830
=============================================
- Hits 8975 1692 -7283
- Misses 5148 13078 +7930
+ Partials 809 162 -647
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.