-
Notifications
You must be signed in to change notification settings - Fork 254
feat(ci): overhaul CI/CD with smart detection & optimized caching #2101
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
Conversation
2a69d14 to
2741f3a
Compare
lukaszzborek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For me, in task 'test' should be run unit (Iggy_SDK_Tests) and integration tests (Iggy_SDK.Tests.Integration).
In 'e2e' only BDD (Iggy_SDK.Tests.BDD).
6832491 to
c0db658
Compare
3f28279 to
7c3c67a
Compare
f0163cb to
1f7c8cd
Compare
T1B0
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great rewrite ! LGTM 🚀
lukaszzborek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
changhc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: can we at least manually make sure that text files (i.e. non-binary files and files that do not reject additional characters) have a trailing newline character? I don't think there is any existing tool for this unfortunately and therefore this is hard to enforce, but I think it's a nice to have.
|
@changhc I added trailing newline check to _common.yml later, I will move all these into separate files like you suggested before, so that it'll be possible for devs to call them before commit / push locally.
|
3b74900 to
942545b
Compare
Major improvements: - Intelligent change detection with dependency graph resolution - Only test affected components + transitive dependencies - Dual caching: sccache for artifacts + rust-cache for deps - Parallel matrix execution for all test suites - Python tests use server-start/stop instead of Docker - Centralized component config in components.yml - Unified test workflow handling all languages - Maven Nexus publishing for Java SDK - Multi-arch Docker builds with buildx - Manual tagging workflow for controlled releases - CI summary with execution times per component - License header & conventional commit validation Fixes: Missing Docker inputs, sccache persistence, order-sensitive pattern matching, empty duration column, Maven credentials. Reduces CI runtime by ~40% while improving reliability.
|
Can't wait to see it in action 😀 |
…ache#2101) Major improvements: - Intelligent change detection with dependency graph resolution - Only test affected components + transitive dependencies - Dual caching: sccache for artifacts + rust-cache for deps - Parallel matrix execution for all test suites - Python tests use server-start/stop instead of Docker - Centralized component config in components.yml - Unified test workflow handling all languages - Maven Nexus publishing for Java SDK - Multi-arch Docker builds with buildx - Manual tagging workflow for controlled releases - CI summary with execution times per component - License header & conventional commit validation Fixes: Missing Docker inputs, sccache persistence, order-sensitive pattern matching, empty duration column, Maven credentials. Reduces CI runtime by ~40% while improving reliability.

Major improvements:
Fixes: Missing Docker inputs, sccache persistence, order-sensitive
pattern matching, empty duration column, Maven credentials.
Reduces CI runtime by ~40% while improving reliability.