Skip to content
Seth Tisue edited this page Aug 30, 2021 · 71 revisions

What is this? Why?

See the README.

Who maintains this?

Primarily the Scala team at Lightbend, with help from the maintainers of the included libraries.

What projects are included?

as of August 2021, there are 232 repos in the 2.13 build.

Where does this run?

The community builds run on Scala's Jenkins-based CI, as documented in the scala-jenkins-infra README.

Build results are viewable on scala-ci.typesafe.com. (For example, see the 2.13.x results.

Can I run it against a pull request in scala/scala?

Yes. Just comment on the PR and ask, and someone on the Scala team will manually trigger a run for you. (And if you often need to trigger such runs, you can ask us to grant you the needed Jenkins access to trigger runs yourself.)

(How does it work? As documented in the scala/scala README, every PR results in a new Scala version being published to a special resolver. The community build Jenkins is already set up to use that resolver, so we only need to specify the version field in the Jenkins job parameters.)

Can I run it locally?

Sure, just clone the repo and ./run.sh.

It takes a long time. But there are ways to speed it up, or run just a subset. See Local runs.

What variations of the build exist?

There are currently six:

branch name JDK version Jenkins job
2.12.x AdoptOpenJDK 8 link
2.12.x AdoptOpenJDK 11 link
2.12.x AdoptOpenJDK 17 link
2.13.x AdoptOpenJDK 8 link
2.13.x AdoptOpenJDK 11 link
2.13.x AdoptOpenJDK 17 link

The 2.12.x build is very nearly frozen. It uses up-to-date Scala SHAs, but we are no longer adding new repos or doing any disruptive version upgrades. (We still advance a few of the project SHAs, but not if doing so requires substantial effort.)

The 2.13.x build is under somewhat more active development, but only somewhat. We will consider additions and/or version bumps on a case-by-case basis, considering the likely cost/benefit.

scripts/Report.scala has lists of projects that are known to fail on certain JDK versions only and thus don't prevent the Jenkins outcome from being green.

Further details on these variations is here.

Is my project eligible?

See Eligibility.

Is Scala.js or Scala Native supported?

In short, no. It is considered out of scope for the Lightbend team to attempt this, or to maintain someone else's attempt.

Of course, many included projects support multiple back ends. That's okay; we just disable the non-JVM portions.

How do I add my project?

On the 2.13.x branch (usually), edit community.conf and projs.conf and add proj/foo.conf and submit a PR with the change. (The PR doesn't necessarily need to be fully baked; it can be a starting point for conversation and collaboration.)

The dbuild documentation might help.

See also Maintenance for a great deal of relevant practical advice.

How do I help maintain the community build?

See Maintenance.

Where I can talk to someone about this?

Good starting places for new folks to ask general questions about this include:

And of course, we can also talk using issues and pull requests in this repo.