Skip to content

ci(kits): use Java 21 for the emulator and merge-base kit detection - #3083

Merged
cabljac merged 1 commit into
kitsfrom
ci/kits-test-fixes
Sep 2, 2026
Merged

cabljac merged 1 commit into
kitsfrom
ci/kits-test-fixes

Conversation

@cabljac

@cabljac cabljac commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Two CI fixes found via #3066's failing run. The emulator step failed on every kit with a test:emulator script: firebase-tools 15 requires Java 21+ and the runner's default JAVA_HOME is 17 - the step now points JAVA_HOME at the preinstalled 21. And the changed-kit detection diffed against the event's base.sha, which goes stale when the base branch advances after the PR's last push, pulling base-side kits into the matrix (that is how counter and chatbot failed #3066's run); detection now three-dot diffs against the live base ref's merge-base. YAML validated; the detection command dry-run locally. Like its predecessors, the workflow only fully proves itself on the next kit PR.

firebase-tools 15 requires Java 21+ where the runner defaults to 17, so
every emulator-gated suite failed. The event's base.sha also goes stale
when the base advances after a PR's last push, pulling base-side kits
into the matrix.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@cabljac
cabljac merged commit 6c368fd into kits Sep 2, 2026
9 checks passed
@cabljac
cabljac deleted the ci/kits-test-fixes branch September 2, 2026 07:38
cabljac added a commit that referenced this pull request Sep 2, 2026
Follow-up to #3083, which traded one detection bug for a worse one: the
three-dot diff has no reachable merge base on the depth-1 merge-ref
checkout, and the git failure inside command substitution silently
produced an empty matrix - observed live on #3066's rerun, where all kit
testing was skipped while the job reported green. Two-dot against the
freshly fetched live base ref is exact for a merge-ref checkout (the
merge ref is built on the live tip), and the diff now runs as its own
step line so a git failure fails the job instead of skipping every kit.
YAML validated; the command dry-run locally against origin/kits.
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