Revive reduced servlet smoke test matrix on top of main#18953
Revive reduced servlet smoke test matrix on top of main#18953zeitlinger wants to merge 3 commits into
Conversation
Signed-off-by: Gregor Zeitlinger <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR revives the earlier effort to reduce the servlet smoke-test matrix on pull requests (to improve CI time) while keeping the full matrix for merges to main, updating the wiring to match the current reusable workflow structure.
Changes:
- Adds a PR-only “reduced smoke tests” mode that skips non-representative app-server/JDK combinations in the servlet smoke tests.
- Propagates a new
reduced-smoke-testsworkflow input through the PR dispatcher → reusable workflows → Gradle invocation. - Adjusts servlet image build logic to pass the target matrix explicitly into task creation.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| smoke-tests/src/test/java/io/opentelemetry/smoketest/appserver/AppServerTest.java | Implements reduced-mode skipping rules for servlet smoke test classes. |
| smoke-tests/images/servlet/build.gradle.kts | Updates docker task creation to accept the computed image targets map. |
| smoke-tests/build.gradle.kts | Maps -PreducedSmokeTests=true to a JVM system property consumed by tests. |
| .github/workflows/reusable-pr-build.yml | Adds reduced-smoke-tests input and forwards it into build-common.yml. |
| .github/workflows/build-pull-request.yml | Enables reduced smoke tests by default on PRs (unless test full smoke label is present). |
| .github/workflows/build-common.yml | Passes -PreducedSmokeTests=true into the smoke-test Gradle invocation when requested. |
Signed-off-by: Gregor Zeitlinger <[email protected]>
|
Can you do some analysis on what (quantitative) benefits this has, so we can weigh the risks? thanks |
Signed-off-by: Gregor Zeitlinger <[email protected]>
|
I ran both modes on the same tree (the full run only adds an empty commit):
That is 69.5% fewer combinations and 69.4% fewer invocations (982 omitted). Both runs passed. Summed Gradle The trade-off is that the PR gate exercises fewer app-server/JDK combinations; the full matrix still runs on main, and the |
Pull request dashboard statusStatus last refreshed: 2026-07-26 19:42:16 UTC.
This automated status or its linked feedback items may be incorrect. If something looks wrong, please report it with the result you expected. |
Revives #16810 on top of current
main.Summary
This refresh keeps the original intent of #16810:
mainmainThe reduced PR-mode matrix still aims to preserve coverage guarantees by:
What changed in this refresh
Compared to the original branch, this revival mainly rebases the change onto current workflow structure:
.github/workflows/build-pull-request.yml.github/workflows/reusable-pr-build.ymlreduced-smoke-teststhrough the current reusable workflow setupContext
The original PR was blocked by #17721, which has since merged on April 9, 2026.
Test plan