
Update Pub/Sub Emulator
- 48 installs
- 4.5k repo stars
- Updated August 4, 2026
- firebase/firebase-tools
Updates the Firebase Pub/Sub emulator by refreshing it via gcloud, packaging it, and uploading the zip to the Firebase preview storage bucket.
About
Describes updating, packaging, and uploading a new version of the Pub/Sub emulator to the Firebase preview bucket. A maintainer uses it to ship a newer emulator build for the Firebase tooling.
- Refresh emulator via gcloud components update
- Package and upload zip to firebase-preview-drop bucket
Update Pub/Sub Emulator by the numbers
- 48 all-time installs (skills.sh)
- Ranked #743 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/firebase/firebase-tools --skill update-pub/sub-emulatorAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 48 |
|---|---|
| repo stars | ★ 4.5k |
| Last updated | August 4, 2026 |
| Repository | firebase/firebase-tools ↗ |
What it does
Updates the Firebase Pub/Sub emulator by refreshing it via gcloud, packaging it, and uploading the zip to the Firebase preview storage bucket.
Files
Update Pub/Sub Emulator
1. Update Local Emulator Run the following command to make sure you have the latest version of the pubsub emulator installed via gcloud:
gcloud components update pubsub-emulator2. Locate Emulator Directory The emulator represents a directory likely located at <gcloud-install-path>/platform/pubsub-emulator. You can find the exact path by running the emulator and checking the output, or by inspecting where gcloud is installed (e.g. which gcloud usually points to a bin directory, and the platform directory is a sibling of bin). Verify the version by running the emulator or checking the VERSION file if it exists.
3. Package the Emulator Zip the directory found in the previous step. Name it pubsub-emulator-<version>.zip. Ensure the zip structure is such that the top-level directory inside the zip is pubsub-emulator. Note: The existing code expects the binary at `pubsub-emulator-<version>/pubsub-emulator/bin/cloud-pubsub-emulator` inside the cache, which usually means the zip contains a root folder `pubsub-emulator`.
4. Upload to Storage Upload the zip file to the Firebase preview bucket:
gcloud storage cp pubsub-emulator-<version>.zip gs://firebase-preview-drop/emulator/Make the file publicly readable if necessary (usually the bucket permissions handle this, or use gcloud storage objects update ... --add-acl-grant=entity=allUsers,role=READER).
Note: For the version 0.8.27 update, this step was already done.
5. Calculate Metadata Calculate the file size in bytes, MD5 checksum, and SHA256 checksum of the zip file.
# Size
ls -l pubsub-emulator-<version>.zip
# MD5 (macOS: `md5`, Linux: `md5sum`)
md5 pubsub-emulator-<version>.zip
# SHA256 (macOS: `shasum -a 256`, Linux: `sha256sum`)
shasum -a 256 pubsub-emulator-<version>.zip6. Update Configuration Edit src/emulator/downloadableEmulatorInfo.json:
- Update
pubsub.versionto the new version. - Update
pubsub.expectedSize. - Update
pubsub.expectedChecksum(MD5). - Update
pubsub.expectedChecksumSHA256. - Update
pubsub.remoteUrlandpubsub.downloadPathRelativeToCacheDir.
7. Verify Run the emulators to ensure the new version is downloaded and starts correctly.
firebase emulators:start --only pubsub8. Add a Changelog Entry Add a changelog entry to CHANGELOG.md like '- Updated Pub/Sub emulator to version <version>'