This document describes how to set up your development environment to build and test hashiru-bpmn. It also explains the basic mechanics of using git, elixir, and hex.
- Prerequisite Software
- Getting the Sources
- Installing HEX Modules
- Building
- Building Documentation Locally
- Running Tests Locally
See the contribution guidelines if you'd like to contribute to hashiru-bpmn.
Before you can build and test hashiru-bpmn, you must install and configure the following products on your development machine:
-
Git and/or the GitHub app (for Mac or Windows); GitHub's Guide to Installing Git is a good source of information.
-
Elixir which is used to run the code and tests, and generate distributable files.
Fork and clone the hashiru-bpmn repository:
- Login to your GitHub account or create one by following the instructions given here.
- Fork the main hashiru-bpmn repository.
- Clone your fork of the hashiru-bpmn repository and define an
upstream
remote pointing back to the hashiru-bpmn repository that you forked in the first place.
# Clone your GitHub repository:
git clone [email protected]:<github username>/hashiru-bpmn.git
# Go to the hashiru-bpmn directory:
cd hashiru-bpmn
# Add the main hashiru-bpmn repository as an upstream remote to your repository:
git remote add upstream https://github.com/around25/hashiru-bpmn.git
Next, install the JavaScript modules needed to build and test gehashiru-bpmn:
# Install hashiru-bpmn project dependencies (mix.exs)
mix local.hex --force
mix local.rebar --force
mix deps.get
mix deps.compile
mix compile
To build hashiru-bpmn for ralease run:
mix deps.get --only prod
mix deps.compile
mix release --warnings-as-errors --env=prod
- Results are put in the lib folder.
To generate the documentation:
# Generate all hashiru-bpmn documentation
$ mix docs
To run tests:
# Run all hashiru-bpmn tests
$ mix credo
$ mix coveralls
You should execute the test suites before submitting a PR to github.
All the tests are executed on our Continuous Integration infrastructure and a PR could only be merged once the tests pass.
- Travis CI fails if any of the test suites described above fails.