The directory bot/Bundlebot/release contains scripts for building FDS/Smokeview and Smokeview bundles for Windows, Linux and Macintosh computers. These scripts clone fresh copies of the repos used to build the bundles. Do not run them in repos where you do regular work.
The steps for bulding bundles are:
- Modify tags and revisions in the configuration scripts,
config.shandconfig.bat, - Run the script
BuildFdsManuals.shto build FDS manuals (this runs firebot) and the scriptBuildSmvManuals.shto build Smokeview manuals (this runs smokebot). - Run the script
BuildRelease.shto build FDS/Smokeview bundles, and the scriptBuildSmvRelease.shto build Smokeview bundles, - After the bundles are verified to be correct, push up tags to the central repo and define a release.
These steps are given in more detail below.
-
cd to bot/Scripts and run the script
./update_repos.sh -mto update the repos . The option-mmakes sure each repo is set to the master branch before updating. -
For each repo, checkout the desired revision if the latest revision is not the revision you want to use to make the bundle.
-
cd to bot/Bundlebot/release and run the script
MakeConfig.sh. This script updates the two configuration scriptsconfig.shandconfig.batby using./MakeConfig.sh x.y.z
where x.y.z is the version number of the release to be built, for example 6.10.0 . The configuration scripts config.shandconfig.bat` contain tags and revision for each repo used to build the bundles.
- Examine
config.shandconfig.batto ensure they contain revisions and tags that you want then commit changes and push up to the central repo.
The manuals are built using the firebot account.
- Type:
sudo su - fireboton the computer that runs firebot (spark at Nist) to switch to the firebot user account. - cd to
FireModels_bundle/bot/Bundlebot/release - Update the bot repo to ensure that the build manuals scripts use the correct
config.shscript. - To build the FDS manuals, type:
./BuildFdsManuals.sh -o owner -m email@address. After this step completes, about 3 hours, continue to the next step - To build Smokeview manuals, type:
./BuildSmvManuals.sh -o owner -m email@address. After this step completes, about 20 minutes, start building the bundles.
Note owner in -o owner is the github owner where the manuals will be placed (-o gforney for now) and -m email@address is the email address where results will be sent.
Linux (spark at NIST) and Macintosh (wildfire at NIST) bundles are built using the firebot account.
- Switch to the firebot account using
sudo su - firebot. - cd to the
FireModels_bundle/bot/Bundlebot/releasedirectory - Update the bot repo.
- Type :
./BuildRelease.sh -o owner -m email@address
- cd to the
FireModels_bundle\bot\Bundlebot\releasedirectory - Update the bot repo
- Type:
BuildRelease
- Type:
GetBundles.shwhen the bundles are ready to be published to download the bundles to thebot/Bundlebot/build/bundlesdirectory . TypeGetBundles.batif on a PC . - Examine PDF files to ensure the correct version is displayed on the cover page and perform any other checks needed.
- Install bundles on each platform and ensure fds and smokeview apps have the correct version string.
- Run a simple test case and view with ssmokeview.
- Note, each repo on the Linux computer where the FDS manuals were built has the
REPO-x.y.ztag defined whereREPOis the repo name andx.y.zis the version number specified with the MakeConfigure.sh script run in an earlier step. - cd to each repo (cad, exp, fds, fig, out, smv) and push up the tags using
git push origin --tags. - Draft a new release at https://github.com/firemodels/fds/releases then upload the bundles and PDF files from the
bundlesdirectory to this new release.
- The scripts for building FDS and Smokeview manuals and building the bundle use environment variables to define repo revisions and tags. These variables are defined in the scripts
config.sh(on Linux and Macintosh computers) andconfig.bat(on Windows computers). - Bundle scripts erase and clone fresh copies of the fds and smv repos. These scripts should not be run in repos where daily work is performed. At NIST, Linux Manuals are built in the firebot user account in the directory Firemodels_bundle/bot/Bundlebot/build directory on the host blaze.
- The
BuildRelease.shandBuildRelease.batscripts upload the test bundles to https://github.com/firemodels/test_bundles/releases/tag/BUNDLE_TEST - The scripts
GetBundles.sh(Linux and Mac) andGetBundles.bat(Windows PC) download the bundles to the bundles directory where they can then used to create an official release at https://github.com/firemodels/fds/releases. - Tags are only created in the local fds and smv repos, they are not pushed up to GitHub. Tags then do not need to be deleted if errors are discovered that require more commits. Once the bundles are published, these tags may be pushed up to github.