/example-scala

Scala coverage example

Primary LanguageScalaMIT LicenseMIT

Codecov Scala Example

FOSSA Status

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

  1. Add scoverage to plugin list
  • addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.11") as seen here
  1. Add coverage and coverageReport to sbt
  • 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.

Links

License

FOSSA Status