Skip to content

Release test report: reuse suites that already passed on the same code - #61

Merged
iamrajeshk merged 1 commit into
aviv-dev-latestfrom
release-report-reuse
Oct 22, 2026
Merged

iamrajeshk merged 1 commit into
aviv-dev-latestfrom
release-report-reuse

Conversation

@iamrajeshk

@iamrajeshk iamrajeshk commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

What

  • Fix: the release summary failed with awk: can't open file .../TEST-ci-arm64-v8a-api30-google-apis(AVD) - the AGP JUnit file names contain spaces and the file list was word-split. Files are now read through find -exec; the totals are in the new junit-totals.sh.
  • Reuse: a suite (unit, API 30, API 34) that already passed on exactly the same code isn't run again by the release report.
    • publish-reports.sh always uploads to ci-reports, with the git tree of the tested code in the name. A PR run tests the merge preview, which has the same tree as the merge commit as long as the base branch didn't change in between.
    • reuse-verified-reports.sh takes the newest bundle with that tree; if tests ran and none failed, it is copied into the version's pre-release and that suite is skipped. If the newest run failed, the suite runs again.
    • release-test-report.yml: the unit job is skipped when reused, android-test.yml gets an api-levels input so only the missing API levels run, a retest checkbox runs everything anyway, and the summary has a Tested in column.

Testing

  • actionlint: no findings.
  • Scripts run locally against a fake gh (releases as folders): PR run with API 30 failing -> only API 30 re-run; re-run after a failed summary -> everything reused; retest -> everything runs; no ci-reports -> everything runs.
  • Not run on GitHub yet.

Notes

  • Reuse works within the ci-reports retention (14 days).
  • Bundles from before this change have no tree in the name, so the first release run after merging tests everything.

…e; fix summary on file names with spaces

- release-report-summary.sh failed on the AGP JUnit file names, which contain spaces
  ("...(AVD) - 11-_app-.xml"): the word-split file list made awk open a non-existent file.
  The files are now read through find -exec; the totals are in the new junit-totals.sh.
- publish-reports.sh always uploads to ci-reports, with the git tree of the tested code in the
  name (plus the plain-named copy to the version's pre-release when called for a release).
- New reuse-verified-reports.sh: reuses the newest ci-reports bundle of a suite made from the same
  tree if it passed, copying it into the version's pre-release.
- release-test-report.yml skips the suites it could reuse (android-test.yml gets an api-levels
  input for that), has a "retest" checkbox to run everything anyway, and the summary says which
  run each suite was tested in.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@iamrajeshk
iamrajeshk merged commit 0781a5e into aviv-dev-latest Oct 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant