This folder contains the source for the firepit-builder Docker image along with the tools for locally building the standalone (firepit) builds of the firebase-tools package.
This directory does not contain the firepit source which is located at /standalone.
The script pipeline.js is used in the cloud_build.yaml configuration for automated builds, but can also be used locally for manually creating firepit builds from non-published firebase-tools builds or to test updates to the firepit runtime.
To create a build locally, follow these steps.
- You will need to install
hub, the Github CLI. - Obtain an instance of the
firebase-toolsrepo and make your changes and/or updates to either the CLI itself or thefirepitruntime - Ensure that the
firebase-toolsfolder has been built (vianpm run build). - Go to the
scripts/firepit-builderdirectory and runnpm install. - Run
node ./pipeline.js --package="/absolute/path/to/firebase-tools" - If successful, the script will print out a list of binary artfiacts.
The pipeline.js script has a few optional arguments which may be useful.
--package=[npm_package](default: firebase-tools@latest) - This value is used asnpm install [npm_package]so it can either be a public package (likefirebase-tools@7or an absolute local path to a built version of the CLI (like/home/abe/Development/firebase-tools).--styles=[headless,headful](default: headless,headful) - This value specifies which style offirepitbinary to build. Theheadlessbuilds are used mostly on Unix systems and create binaries which mimic the normalfirebasecommand. Theheadfulbuilds are only shipped for Windows and are designed to be double-clicked and open a new command window.--publishThis flag is used when you want to publish the artifacts to Github. This is a dangerous and potentially destructive command. You should probably never use it.