coursier/setup-action
▶️ GitHub Action using Coursier to install JVM and Scala tools
{ "createdAt": "2020-10-26T00:45:10Z", "defaultBranch": "main", "description": "▶️ GitHub Action using Coursier to install JVM and Scala tools", "fullName": "coursier/setup-action", "homepage": "", "language": "TypeScript", "name": "setup-action", "pushedAt": "2025-11-25T15:27:55Z", "stargazersCount": 57, "topics": [ "coursier", "coursier-setup", "github-actions", "jvm", "scala", "setup-scala" ], "updatedAt": "2025-11-25T15:26:44Z", "url": "https://github.com/coursier/setup-action"}Coursier setup GitHub Action
Section titled “Coursier setup GitHub Action”A GitHub Action to install Coursier and use it to install Java and Scala CLI tools.
It can be useful if you want to install a specific version of JVM or use a build tool like mill or seed.
Inspired by olafurpg/setup-scala and the blog post Single command Scala setup by Alex Archambault (author of Coursier).
Features
Section titled “Features”- run it on any platform: Linux, MacOS, Windows
- install any JVM you need
- setup the build tool of your choice: sbt, mill, seed, etc.
- install other common Scala CLI tools: Ammonite, Bloop, giter8, etc.
Inputs
Section titled “Inputs”-
jvm(optional): JVM to install- one of the options from
cs java --available. - if left empty either the existing JVM will be used or Coursier will install its default JVM.
- one of the options from
-
jvm-index(optional): The JVM index source- arbitrary URL containing the JVM index source like in
cs java --available --jvm-index https://url/of/your/index.json. - if left empty the coursier index will be used as default JVM index source
- arbitrary URL containing the JVM index source like in
-
apps(optional): Scala apps to install (sbtnby default)- space separated list of app names (from the main channel)
-
customRepositories(optional): ”- Pipe separated list of repositories to supply to coursier
-
disableDefaultRepos(optional): ‘false’- Whether or not to pass the —no-default flag to coursier
Example with custom inputs
Section titled “Example with custom inputs” steps: - uses: actions/checkout@v2 - uses: coursier/setup-action@v1 with: jvm: adopt:11 jvm-index: https://url/of/your/index.json apps: sbtn bloop ammonite disableDefaultRepos: true customRepositories: https://packages.corp.com/mavenOutputs
Section titled “Outputs”cs-version: version of the installed Coursier (should be the latest available)
Caching
Section titled “Caching”This action should work well with the official Coursier cache-action. For example:
steps: - uses: actions/checkout@v2 - uses: coursier/cache-action@v6 - uses: coursier/setup-action@v1