Skip to content

ci: install JDK 21 so firebase-tools emulators can run#153

Merged
armando-navarro merged 1 commit into
mainfrom
ci-require-jdk-21
Jul 21, 2026
Merged

ci: install JDK 21 so firebase-tools emulators can run#153
armando-navarro merged 1 commit into
mainfrom
ci-require-jdk-21

Conversation

@armando-navarro

Copy link
Copy Markdown
Contributor

The test job (the workflow job that runs the emulator matrix) runs the Firebase emulators via npx firebase-tools@latest, which now requires a JDK at version 21 or above. The workflow has no Java setup step, so the runner's default JDK is used and every emulator run fails at startup with:

Error: firebase-tools no longer supports Java version before 21. Please install a JDK at version 21 or above to get a compatible runtime.

This has left the whole test matrix red regardless of the firebase or rxjs version under test.

This adds an actions/setup-java step (Temurin 21, pinned to the v5.6.0 commit SHA) to the test job so the emulators start. Only the test job needs it; the build and lint jobs do not run the emulators.

The action is pinned to a commit SHA rather than a floating tag because a SHA is the only immutable reference, following GitHub's security-hardening guidance for third-party actions.

The test job runs the Firebase emulators via `npx firebase-tools@latest`,
which now requires a JDK at version 21 or above. The workflow had no Java
setup step, so the runner's default JDK was used and every emulator run
failed at startup with "firebase-tools no longer supports Java version
before 21", leaving the whole test matrix red regardless of the firebase
or rxjs version under test.

Add an actions/setup-java step (Temurin 21) to the test job. Only that job
runs the emulators; build and lint do not. The action is pinned to the
v5.6.0 commit SHA rather than a floating tag, per GitHub's security
hardening guidance for third-party actions.
@gemini-code-assist

Copy link
Copy Markdown

Note

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

@tyler-reitz tyler-reitz left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified the pinned SHA (03ad4de0992f5dab5e18fcb136590ce7c4a0ac95) matches actions/setup-java v5.6.0. Correctly scoped to the test job only. LGTM.

@armando-navarro
armando-navarro merged commit ce30a84 into main Jul 21, 2026
27 checks passed
@armando-navarro
armando-navarro deleted the ci-require-jdk-21 branch July 21, 2026 01:09
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.

2 participants