japgolly/setup-everything-scala
GitHub Action to prepare the environment for Scala & Scala.JS dev and testing
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 20, 2026
- License
- None
Pinned Snippet
uses: japgolly/setup-everything-scala@3f8419e4a4011d1a97e35335d1226decdd8117b2 # v4.1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| chrome-version | The Google Chrome/Chromium version to install and use. | no | latest |
| coursier-apps | Applications to install via coursier. | no | sbt sbtn |
| coursier-cache-root | Root directory containing build definition sources (build.sbt, build.sc, etc.) If the sbt or mill build definition files are in a sub-directory, pass the path to this sub-directory here. | no | . |
| coursier-cache-path | Override for the path of the coursier cache. By default, the coursier cache is assumed to be in the default OS-dependent location. Set this input to override that. Note that this action will also set COURSIER_CACHE if an override is specified, so that you don't have to set it yourself. | no | "" |
| coursier-cache-job | Job name, to be used in the cache key, so that each job has its own cache. | no | ${{ github.job }} |
| coursier-cache-matrix | Matrix values, when using the matrix strategy. When using build matrices for more than the OS (for Scala versions, JDKs, test suites, …), pass the matrix values here, with `matrix: -dollar-{{ toJson(matrix) }}`. The matrix instance is hashed, and added to the cache key, so that each matrix instance has its own cache, and those caches don't collide. | no | ${{ toJson(matrix) }} |
| coursier-cache-extraFiles | Extra files to take into account in the cache key. By default, sbt build definition files (*.sbt, project/**.{scala,sbt}, project/build.properties) and mill build definition files (*.sc, ./mill) are hashed to uniquely identify the cached data. Upon cache restoration, if an exact match is found, the cache is not saved again at the end of the job. In case of no exact match, it is assumed new files may have been fetched; the previous cache for the current OS, if any, is restored, but a new cache is persisted with a new key at the end of the job. To take into account extra files in the cache key, pass via extraFiles either - a single path as a string - multiple paths in a JSON array, encoded in a string Blobs are accepted (processed by [glob-all](https://www.npmjs.com/package/glob-all)). | no | "" |
| coursier-cache-extraKey | Extra value to be appended to the coursier cache key. See extraFiles for more details. | no | "" |
| coursier-cache-extraHashedContent | Extra content to take into account in the cache key. See extraFiles for more details. The content of extraHashedContent is taken into account in the hash for the coursier cache key. | no | "" |
| coursier-cache-extraSbtFiles | Extra sbt files to take into account in the sbt cache key. Same format as extraFiles. | no | "" |
| coursier-cache-extraSbtKey | Extra value to be appended to the sbt cache key. See extraFiles for more details. | no | "" |
| coursier-cache-extraSbtHashedContent | Extra content to take into account in the sbt cache key. Same format as extraHashedContent. | no | "" |
| coursier-cache-extraMillFiles | Extra mill files to take into account in the mill cache key. Same format as extraFiles. | no | "" |
| coursier-cache-extraMillKey | Extra value to be appended to the mill cache key. See extraFiles for more details. | no | "" |
| coursier-cache-extraMillHashedContent | Extra content to take into account in the mill cache key. Same format as extraHashedContent. | no | "" |
| coursier-cache-ammoniteScripts | Ammonite scripts to take into account in the Ammonite cache key. Same format as extraFiles. | no | "" |
| coursier-cache-extraAmmoniteKey | Extra value to be appended to the Ammonite cache key. See extraFiles for more details. | no | "" |
| coursier-cache-extraAmmoniteHashedContent | Extra content to take into account in the Ammonite cache key. Same format as extraHashedContent. | no | "" |
| coursier-version | Coursier version to install | no | — |
| firefox-version | The Firefox version to install and use. Examples: 84.0, 84.0.1, latest-esr | no | latest |
| geckodriver-version | The Geckodriver version to install and use. Examples: 0.28.0, latest. | no | latest |
| java-version | The Java version to install. To see available options, run: cs java --available | no | adopt:1.8 |
| jsdom-version | The jsdom version to install. | no | latest |
| node-architecture | Target architecture for Node to use. Examples: x86, x64. Will use system architecture by default. | no | — |
| node-cache | Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm | no | — |
| node-cache-dependency-path | Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. Supports wildcards or a list of file names for caching multiple dependencies. | no | — |
| node-check-latest | Set this option if you want the action to check for the latest available version that satisfies the version spec | no | false |
| node-mirror | Optional mirror to download binaries from. Artifacts need to match the official Node.js | no | — |
| node-mirror-token | Optional mirror token. The token will be used as a bearer token in the Authorization header | no | — |
| node-registry-url | Optional registry to set up for auth. Will set the registry in a project level .npmrc and .yarnrc file, and set up auth to read in from env.NODE_AUTH_TOKEN | no | — |
| node-package-manager-cache | Controls automatic caching for npm. By default, caching for npm is enabled if either the devEngines.packageManager field or the top-level packageManager field in package.json specifies npm and no explicit cache input is provided. To disable automatic caching for npm, set package-manager-cache to false. | no | — |
| node-scope | Optional scope for authenticating against scoped registries | no | — |
| node-token | Used to pull node distributions from node-versions. Since there's a default, this is typically not supplied by the user. | no | ${{ github.token }} |
| node-version | Version Spec of the version to use. Examples: 12.x, 10.15.1, >=10.15.0 | no | 16 |
| node-version-file | File containing the version Spec of the version to use. Examples: package.json, .nvmrc, .node-version, .tool-versions. If node-version and node-version-file are both provided the action will use version from node-version. | no | — |
| source-map-support-version | The source-map-support version to install. | no | latest |
Outputs
no outputs