Skip to content

Continuous Integration#

Kazoo makes use of TravisCI and CircleCI.

TravisCI#

Travis is tasked with building Kazoo against various versions of Erlang and running the test suites (core/ and applications/).

CircleCI#

Circle handles doing checks against the code base, documentation, Dialyzer, and building and testing a release using the currently supported Erlang version.

Adding test coverage reports to CircleCI#

CircleCI has an 'insights' dashboard that can injest XML.

To add the necessary config to the config.yml for CircleCI:

sed -i '/eunit$/a\\      - run:\n          name: Save test results\n          command: |\n            mkdir -p ~/test-results/junit/\n            find . -type f -name "TEST-*.xml" -exec cp {} ~/test-results/junit/ \;\n          when: always\n      - store_test_results:\n          path: ~/test-results\n      - store_artifacts:\n          path: ~/test-results/junit/\n'

This inserts the necessary steps to take the TEST-*.xml files generated by eunit and put them in a place for CircleCI to ingest them.