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.