#15 - Add Firebase CLI to the base image #16

Merged
GuillaumeHemmen merged 2 commits from 15-add-firebase-cli into master 2026-06-21 18:28:57 +00:00

Summary

Adds the Firebase CLI (firebase-tools) to the base stage so every variant (ci, coder, coder-xfce-vnc) ships it.

Changes

  • Dockerfile: install the standalone Firebase CLI in the base stage via curl -fsSL https://firebase.tools | bash. The standalone binary bundles its own Node runtime, so it works in base even though Node.js is only added in the CI stage / at workspace start. Combined with the existing Azul Zulu JDK, this enables firebase deploy and the Firebase Emulator Suite (Firestore rules unit-testing) in CI.
  • README.md: document the Firebase CLI in the CI variant features, the use case, and Version Information.

Why

Needed so asgolf-longwy/frontend CI can deploy Firebase resources and run emulator-based security-rules tests after migrating its pipelines to the Sindri ci image.

Verification

  • The branch push triggers the docker-dev Kaniko build, validating the Dockerfile.
  • After merge: tag CalVer 26.25.1 to publish ci-26.25.1 / ci-latest / latest; then firebase --version is available in all variants.

Closes #15

🤖 Generated with Claude Code

https://claude.ai/code/session_01Dj6ZEv2hBaM2qwSJrw4AQf

## Summary Adds the **Firebase CLI** (`firebase-tools`) to the **base** stage so every variant (`ci`, `coder`, `coder-xfce-vnc`) ships it. ## Changes - `Dockerfile`: install the standalone Firebase CLI in the base stage via `curl -fsSL https://firebase.tools | bash`. The standalone binary bundles its own Node runtime, so it works in base even though Node.js is only added in the CI stage / at workspace start. Combined with the existing Azul Zulu JDK, this enables `firebase deploy` and the **Firebase Emulator Suite** (Firestore rules unit-testing) in CI. - `README.md`: document the Firebase CLI in the CI variant features, the use case, and Version Information. ## Why Needed so `asgolf-longwy/frontend` CI can deploy Firebase resources and run emulator-based security-rules tests after migrating its pipelines to the Sindri `ci` image. ## Verification - The branch push triggers the `docker-dev` Kaniko build, validating the Dockerfile. - After merge: tag CalVer `26.25.1` to publish `ci-26.25.1` / `ci-latest` / `latest`; then `firebase --version` is available in all variants. Closes #15 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Dj6ZEv2hBaM2qwSJrw4AQf
#15 - Add Firebase CLI to the base image
Some checks failed
/ docker-dev-coder-xfce-vnc (push) Failing after 6m33s
/ docker-dev-ci (push) Failing after 6m35s
/ docker-dev-coder (push) Failing after 6m37s
ca8a238d38
Install the standalone firebase-tools binary in the base stage so all
variants (ci, coder, coder-xfce-vnc) ship the Firebase CLI. The installer
bundles its own Node runtime, so it works in base even without system Node.
Together with the existing Azul Zulu JDK this enables 'firebase deploy' and
the Firebase Emulator Suite (Firestore rules unit-testing) in CI.

Closes #15

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dj6ZEv2hBaM2qwSJrw4AQf
GuillaumeHemmen scheduled this pull request to auto merge when all checks succeed 2026-06-21 17:12:18 +00:00
GuillaumeHemmen changed title from Add Firebase CLI to the base image to #15 - Add Firebase CLI to the base image 2026-06-21 18:06:13 +00:00
#15 - Fix flaky Firebase CLI install in CI (pin + retry + fail-fast)
All checks were successful
/ docker-dev-ci (push) Successful in 5m7s
/ docker-dev-coder (push) Successful in 5m52s
/ docker-dev-coder-xfce-vnc (push) Successful in 10m39s
26eb0803aa
The base stage installed the standalone firebase binary via 'curl -fsSL https://firebase.tools | bash'. From the CI runner the TLS handshake to firebase.tools / GitHub release assets intermittently stalls for curl's full ~300s connect timeout, failing with 'curl: (28) SSL connection timeout' and aborting the Kaniko build for all three targets (the step is in the shared base stage, so ci/coder/coder-xfce-vnc all fail).

Fetch the release asset directly with a pinned FIREBASE_VERSION, a 30s connect timeout, and retries (--retry 5 --retry-all-errors), and assert 'firebase --version' so a failed/corrupt download fails the build deterministically instead of hanging ~5 min.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GuillaumeHemmen deleted branch 15-add-firebase-cli 2026-06-21 18:28:57 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
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
actions/sindri!16
No description provided.