Awesome
Codecov Scala Example
Guide
GitHub Actions Setup
You should first get the repository upload token from codecov
Add the following to your .github/workflows/test.yml
file.
name: Test workflow
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
name: Test scala
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'
- name: Run tests
run: sbt coverage test coverageReport
- uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
Here we frist checkout the code, then setup java, run the tests and generate the coverage report. Finally, we upload the report to codecov using the codecov-action.
When all finished, you could also add a badge on readme like following.
[![codecov](https://codecov.io/gh/YOUR_ACCOUNT/YOUR_REPO/branch/YOUR_BRANCH/graph/badge.svg)](https://codecov.io/gh/YOUR_ACCOUNT/YOUR_REPO)
Produce Coverage Reports
- Add
scoverage
to plugin list
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.11")
as seen here
- Add
coverage
andcoverageReport
tosbt
sbt clean coverage test coverageReport
as seen here
Caveats
Private Repo
Repository tokens are required for
- (a) all private repos,
- (b) public repos not using Travis-CI, CircleCI or AppVeyor.
Find your repository token at Codecov and provide via appending -t <your upload token>
to you where you upload reports.