chore(ci): Run E2E tests in a per-test matrix#2398
Conversation
There was a problem hiding this comment.
Pull request overview
This PR restructures the E2E GitHub Actions workflow to run end-to-end tests in a per-test-class matrix, reducing overall runtime and minimizing AWS temporary credential expiration during long-running E2E runs.
Changes:
- Adds a
discover-testsjob that derives E2E and GraalVM E2E test class lists and exposes them as job outputs. - Updates
e2eande2e-graaljobs to run one test class per matrix entry via-Dit.test=..., increasing concurrency. - Moves the full project build into a dedicated step before AWS credential configuration in each matrix job.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
|
Addressed comments. New E2E test run: http://github.com/aws-powertools/powertools-lambda-java/actions/runs/22628242398 |



Summary
This PR runs the E2E tests in a GitHub concurrent matrix to speed up test execution and avoid credential timeouts. After recently added E2E tests we exceeded the one hour validity of the temporary credentials.
The tests will be discovered automatically by a small bash script parsing the E2E test
pom.xmlto find the globs of the test classes. This is done to avoid forgetting to add a test class to GH actions when authoring new tests. Thepom.xmlis the source of truth of the test discovery now.Changes
Issue number: #2397
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.