[DX-2283] Adds branch-out uploading and flaky test protection#1823
[DX-2283] Adds branch-out uploading and flaky test protection#1823
Conversation
|
👋 kalverra, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
There was a problem hiding this comment.
Pull request overview
This PR integrates the branch-out tool into CI workflows to detect and skip flaky tests while uploading test results to Trunk for analysis.
Changes:
- Replaces direct
go testcommands with thebranch-out-uploadGitHub action - Updates artifact naming from "go-test-results" to "go-test-coverage" to better reflect content
- Removes unnecessary blank lines for cleaner workflow formatting
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/pkg.yml | Integrates branch-out action for unit tests and renames coverage artifact |
| .github/workflows/keystore.yml | Integrates branch-out action for unit tests and removes trailing blank line |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
✅ API Diff Results - No breaking changes |
| run: gotestsum --junitfile test-results.xml -- ./... -coverpkg=./... -coverprofile=coverage.txt | ||
|
|
||
| - name: Analyze and upload test results | ||
| uses: smartcontractkit/.github/actions/branch-out-upload@branch-out-upload/v1 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
Uses branch-out to catch, track, and skip flaky tests in CI.
What it Does
Every test result is uploaded to Trunk.io, which tracks test stability over time. It can then classify tests as
flakyorbrokenand place them intoquarantine. While a test is in quarantine, it will still run in CI, but its failures won't fail your whole CI! When a test is marked as flaky or broken, a Jira ticket will be created to investigate and fix the flakiness. When the fix is in, and Trunk has determined the test is no longer flaky, it will remove the test fromquarantine.