CoverallsMulti is a Coveralls client with support for multi-language repos. Once you've set up coverage tools for all the languages in your repo, specify the paths to your coverage output files in
.coveralls.yml and let CoverallsMulti handle formatting them, merging them into one big superfile, and posting the result to Coveralls.io.
Languages & Output Formats
|Language||Coverage tool||Config key|
|Elixir||ExCoveralls (JSON output)||
Have another language, tool, or CI provider you'd like to see supported? File an issue.
Add this line to the test group in your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install coveralls-multi
Set up coverage measurement for each language. Coveralls-multi is only concerned with formatting & posting the output files, so choice of tooling is up to you.
Once you know where the output files will go, set up your
.coveralls.ymlwith the appropriate keys and paths like so (see supported languages above for more details on the supported config keys):
service_name: travis-ci repo_token: [REPO_TOKEN] multi: simplecov: coverage/.resultset.json lcov: coverage/lcov.info excoveralls: cover/excoveralls.json
coveralls-multito merge the output files and send them to Coveralls. In a CI environment, you can run
coveralls-multias an final step after you run your test commands.
Note for ExCoveralls: Currently, formatting will break if the ExCoveralls output directory is called something other than the default
cover. You don't need to worry about this unless you've changed the default
output_dir in your ExCoveralls config.
Debug mode will save and output the merged file so you can take a closer look. To enable debug mode, add the following line to
After checking out the repo, run
bin/setup to install dependencies. Then, run
rake spec to run the tests. You can also run
bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run
bundle exec rake install. To release a new version, update the version number in
version.rb, and then run
bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the
.gem file to rubygems.org.
TODO: add better contributing instructions (especially for adding a new formatter)
Bug reports and pull requests are welcome on GitHub at https://github.com/radditude/coveralls-multi. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the CoverallsMulti project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.