Repository navigation
[CI-6519] Document linking test attachments by file name - #326
Merged
Merged
Conversation
The page now covers the file name convention that the Deploy to Bitrise.io (2.26.0) and Export test results to Test Reports (1.3.0) Steps use to link attachments to test cases. The manual attachment_* properties stay documented as the alternative. Every example is a one-time setup (a listener, a Gradle task, a path builder, a reporter), so readers don't have to touch their tests. Each was run against the Export Step's matcher. Tools that could only be covered per test class or through deprecated or private APIs (Paparazzi, Shot, Flutter) are left out. The search_pattern examples name a single class XML on purpose: the Export Step exports only its first match, and Gradle writes one XML per test class. CLAUDE.md listed only the languages added in docusaurus.config.ts, which read as if JavaScript, TypeScript and XML blocks were not highlighted. They come bundled with prism-react-renderer.
Readers found the section hard to scan. The convention is now four rules, each tool gets one sentence and its code, and the Export Step setup and version requirements are stated once instead of three times. Edge cases that rarely matter (a test name ending in __run<k>, the 255-byte file name limit, .XML and .junit results, testsuite-level properties, git filtering details) are left out. The rule to put the device in the label stays, since every multi-device run hits it.
Paparazzi runs in more workspaces than Roborazzi, so it gets an example even though it needs a shared rule factory instead of a one-time setup: Paparazzi has no global hook, and its own file names can't be mapped back to the test case unambiguously. The example targets 1.3.5, the stable release. On AGP 8 with kotlin-android the handler needs noJdk off to see java.awt, and without outputs.dir a build-cache hit restores the XML but not the snapshots, so nothing gets linked.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The Espresso and Paparazzi examples can lose attachments in multi-device or multi-task runs.
Review effort: Balanced
Findings: 2
Open (2)
What changed in this PR
Documents file-name-based test attachment linking and related setup guidance.
Changes:
- Adds naming rules and examples for five testing tools.
- Expands export and troubleshooting instructions.
- Clarifies supported code-block languages.
| File | Description |
|---|---|
docs/bitrise-ci/testing/deploying-and-viewing-test-results.mdx |
Adds attachment-linking documentation and examples. |
CLAUDE.md |
Clarifies syntax-highlighting guidance. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Two devices on the same API level got the same Espresso screenshot name, and the Export Step skips duplicate names, so neither was attached. The label now carries the screen size too, which tells phone and tablet emulators apart. Every Test task deleted and refilled one shared bitrise-snapshots folder, so a later variant's task wiped the snapshots of tests that only ran in an earlier one. Each task now writes to its own folder, named through a system property.
AndrasEszes
marked this pull request as ready for review
October 6, 2026 14:54
AndrasEszes
requested review from
aorcsik,
ilanazholobovsky,
matenadasdi and
zoltan-baba
as code owners
October 6, 2026 14:54
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
zoltan-baba
approved these changes
Oct 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Documents the attachment file name convention on the test results page: the naming rules, setups for Espresso, Paparazzi, Roborazzi, Detox and Playwright, the Export test results to Test Reports setup that collects the files, and troubleshooting.
Details
android.newDsl=false.test_apiimport.[ ]or›(Playwright and Detox names do), and multi-device runs.