olegych / sbt-cached-ci

Incremental sbt builds for CI environments.

Version Matrix

Github Build Status Travis Build Status CircleCI Build Status Latest Version

sbt-cached-ci

Incremental sbt builds for CI environments.

The plugin introduces a new task cachedCiTest which calls testQuick and calls clean once a day.

Usage

Supported sbt version - 1.x.

  1. In ./project/plugins.sbt add:
    addSbtPlugin("org.olegych" %% "sbt-cached-ci" % latest_version)
    
  2. Configure your CI to cache current directory (preserving full timestamp) and call cachedCiTest task, see samples at .travis.yml, .github/workflows/test.yml or .circleci/config.yml

Note that Github support relies on forked cache action (pending https://github.com/actions/cache/pull/233).

CircleCI currently does not support proper caching, please vote here https://ideas.circleci.com/ideas/CCI-I-1453.

Period between full test runs can be configured with cachedCiTestFullPeriod setting.

cachedCiTestQuick configures what is executed on every build.

cachedCiTestFull configures what is executed every cachedCiTestFullPeriod.