ci(android): run on every PR and report test results #75

Merged
nalum merged 1 commit from ci/android-run-on-all-prs into main 2026-08-14 16:01:41 +00:00
Owner

Two gaps on the android workflow.

1. It never ran on stacked PRs. The pull_request trigger was filtered to branches: [main], so it only fired for PRs based on main. The event-editing stack (#72/#73/#74) targets parent feature branches, so the android build, unit tests and gen/android drift check were silently skipped — even though the PRs are labelled android. check.yml already dropped this filter for the same reason (its comment says android.yml mirrors it — it did not). Removed; the paths filter still gates the SDK/Gradle cost.

2. It ran tests but reported nothing. Forgejo has no Checks API, so — like check.yml's report job — the numbers have to reach the PR as a comment. The build job now aggregates the JUnit XML (debug variant, to avoid double-counting the release variant) into pass/fail/skipped totals, and a report job upserts one sticky <!-- android-test-report --> comment per PR. always(), so a failing suite still reports; the build job's red status stays the merge gate.

Self-validating: targets main and edits android.yml, so the android workflow runs on this PR — watch for the report comment.

🤖 Generated with Claude Code

Two gaps on the android workflow. **1. It never ran on stacked PRs.** The `pull_request` trigger was filtered to `branches: [main]`, so it only fired for PRs based on `main`. The event-editing stack (#72/#73/#74) targets parent feature branches, so the android build, unit tests and `gen/android` drift check were silently skipped — even though the PRs are labelled `android`. `check.yml` already dropped this filter for the same reason (its comment says android.yml mirrors it — it did not). Removed; the `paths` filter still gates the SDK/Gradle cost. **2. It ran tests but reported nothing.** Forgejo has no Checks API, so — like `check.yml`'s `report` job — the numbers have to reach the PR as a comment. The build job now aggregates the JUnit XML (debug variant, to avoid double-counting the release variant) into pass/fail/skipped totals, and a `report` job upserts one sticky `<!-- android-test-report -->` comment per PR. `always()`, so a failing suite still reports; the build job's red status stays the merge gate. Self-validating: targets `main` and edits `android.yml`, so the android workflow runs on this PR — watch for the report comment. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci(android): run the android checks on every pull request
All checks were successful
check / commits (pull_request) Successful in 5s
check / web (pull_request) Successful in 1m58s
check / go (pull_request) Successful in 3m6s
check / report (pull_request) Successful in 3s
android / build (pull_request) Successful in 6m58s
e000529633
android.yml's pull_request trigger was filtered to branches: [main], so
it never ran on stacked PRs (whose base is a parent feature branch) —
the android build, unit tests and gen/android drift check were silently
skipped on the whole event-editing stack. check.yml already dropped this
filter for exactly this reason; align android.yml with it. Path filters
still gate the SDK/Gradle cost to android-touching changes.

Test report

Suite Tests Result Skipped
Unit 1330 ✅ pass 1
Integration 80 ✅ pass —

Coverage: 27.7%

Updated by the check workflow · commit c29d23aa6a

<!-- ci-test-report --> ## Test report | Suite | Tests | Result | Skipped | | --- | --: | --- | --: | | Unit | 1330 | ✅ pass | 1 | | Integration | 80 | ✅ pass | — | **Coverage:** 27.7% <sub>Updated by the check workflow · commit c29d23aa6aed65d25c6cbc7605f3c20d1f5abd23</sub>
nalum force-pushed ci/android-run-on-all-prs from e000529633
All checks were successful
check / commits (pull_request) Successful in 5s
check / web (pull_request) Successful in 1m58s
check / go (pull_request) Successful in 3m6s
check / report (pull_request) Successful in 3s
android / build (pull_request) Successful in 6m58s
to c29d23aa6a
All checks were successful
check / commits (pull_request) Successful in 6s
check / web (pull_request) Successful in 2m5s
check / go (pull_request) Successful in 2m42s
check / report (pull_request) Successful in 4s
android / build (pull_request) Successful in 8m38s
android / report (pull_request) Successful in 4s
check / commits (push) Successful in 6s
check / web (push) Successful in 1m56s
check / go (push) Successful in 2m56s
check / report (push) Has been skipped
android / build (push) Successful in 6m36s
android / report (push) Has been skipped
tag / tag (push) Successful in 5m21s
2026-08-14 15:50:13 +00:00
Compare
nalum changed title from ci(android): run the android checks on every pull request to ci(android): run on every PR and report test results 2026-08-14 15:50:28 +00:00

Android test report

Suite Tests Result Skipped
Unit (debug) 31 ✅ pass 0

Updated by the android workflow · commit c29d23aa6a

<!-- android-test-report --> ## Android test report | Suite | Tests | Result | Skipped | | --- | --: | --- | --: | | Unit (debug) | 31 | ✅ pass | 0 | <sub>Updated by the android workflow · commit c29d23aa6aed65d25c6cbc7605f3c20d1f5abd23</sub>
nalum merged commit c29d23aa6a into main 2026-08-14 16:01:41 +00:00
nalum deleted branch ci/android-run-on-all-prs 2026-08-14 16:01:41 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eagraiclainne/app!75
No description provided.