-
Notifications
You must be signed in to change notification settings - Fork 62
Building a Release
All of the steps have been automated in package.json, as an example here are the steps used to create the various v2.x.x builds:
- Install Node + NPM (if unsure use latest LTS version):
https://nodejs.org/en/download/ - Clone the repository
git clone https://github.com/hpcc-systems/Visualization.git hpcc-js
cd hpcc-js
- Checkout the master branch
git checkout master
- Install dependencies
npm install
npm run build-dev
npm run build
npm run minimize
npm run publish
Building a release consists of the following logical steps:
- Ensure correct versions of third party libraries are local on the build machine.
- Change the version number.
- Build the framework.
- Create new "bX.Y.Z" branch.
- Append the build files.
- Tag the version.
- Push the branch + Tag to GitHub.
Note: npm 12 + gulp 3 do not work well together, the solution was to force "graceful-fs" to version "4.2.3".
Most of these steps have been automated in gulp, as an example here are the steps used to create v1.18.0-rc4:
git fetch upstream
git checkout candidate-1.18.x
git reset --hard upstream/candidate-1.18.x
npm ci
npm run bump -- --version 1.18.0-rc4
npm run tag-release -- --upstream
Note: The "bX.Y.Z" branch is needed for any project which wants to include the Framework as a submodule @ a given tag (vX.Y.Z), this is due to a limitation in git submodule, which will fail to get a tagged version if no branch contains its commit hash.
For older releases (prior to 1.18.0-rc3) use:
git fetch upstream
git checkout candidate-1.10.0
git reset --hard upstream/candidate-1.10.0
npm install && npm update && bower install && bower update
gulp bump --version 1.10.0-rc2
gulp tag-release --upstream
First fetch the sources for the version you want to build:
git fetch upstream
git fetch --tags upstream
git checkout v1.10.4
git reset --hard upstream/v1.10.4
npm install && npm update && bower install && bower update
Next swap out the "public" version of AM charts for the licensed version (ensure you are swapping in a matching version!):
rm -rf ./bower_components/amcharts3
cp ./licensed_amchart3 ./bower_components/amcharts3
...and finally do the build:
gulp build-all