Visit the documentation website for more info.
The FDC3 API is released under the FINOS NPMJS Organisation.
On every commit, semantic release will be executed by Travis CI and - based on the commit message - will decide to trigger a release or not.
Release managers can use commitizen to simplify their commit process; simply install npm install -g commitizen
and use git cz
(instead of git commit
) to commit your changes.
.
It is worth noting that if release managers have the opportunity squash and merge using GitHub merge UI, in order to choose the right commit messages and keep commit log clean.
When a release is performed, Travis CI will do the following:
- Run all build and validation tasks defined by
.travis.yml
- Create a GitHub tag, labelled after the
version
specified inpackage.json
- Include a
CHANGELOG.md
file with a recap of all commits added since last release - Publish (on
npmjs.org/org/finos
) an updated version of the NPM package defined bypackage.json
- Include a
- Increase the the
version
specified inpackage.json
and push changes tomaster
branch
Travis CI must be configured with the following environment variables:
GH_TOKEN
, used to create tags on GitHubNPM_TOKEN
, used to publish the npm package
You can setup variables using semantic-release-cli, Travis Repository Settings or with the travis CLI.
Release configurations can also be shared across npm projects.
Semantic release allows additional configurations to customise the release flow.
To run the website documentation locally, please follow the steps below.
It is strongly advised to use RVM or RBenv to install Ruby; below are the steps to install RVM on MacOS.
mkdir -p ~/.rvm/src && cd ~/.rvm/src && rm -rf ./rvm && \
git clone --depth 1 https://github.com/rvm/rvm.git && \
cd rvm && ./install
rvm install 2.5.2
which bundle #Should return a .rvm sub-path
which ruby #Should return a .rvm sub-path
cd /tmp
git clone https://github.com/pages-themes/slate
cd slate
rm -rf .bundle
./script/bootstrap
gem install jekyll-theme-slate
gem install jekyll-seo-tag
gem install jekyll-watch
cd ../API/docs
jekyll serve --incremental