Skip to content
Dale Wijnand edited this page Feb 20, 2020 · 79 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 (you?)
  • the dbuild maintainers
  • others at Lightbend and the Scala Center

See the repo commit log to see who specifically has been most active recently.

What projects are included?

as of January 2020, there are 208 repos in the 2.13 config file

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 eight:

branch name JDK version Jenkins job
2.11.x AdoptOpenJDK 8 link
2.11.x AdoptOpenJDK 11 link
2.12.x AdoptOpenJDK 8 link
2.12.x AdoptOpenJDK 11 link
2.12.x OpenJDK 14 link
2.13.x AdoptOpenJDK 8 link
2.13.x AdoptOpenJDK 11 link
2.13.x OpenJDK 14 link

In general, the 2.11.x and 2.12.x builds are frozen. They use up-to-date Scala SHAs, but we are no longer adding new repos or doing any disruptive version upgrades. (We still advance some 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 disruptive version upgrades on a case-by-case basis, considering the likely cost/benefit.

On JDK 11 and 14, report/Report.scala has lists of known-failing projects that don't prevent the Jenkins outcome from being green. (On JDK 8, all repos are expected to pass, on all branches.)

Further details on these variations is here.

Is my project eligible?

See Eligibility.

Is Scala.js or Scala Native supported?

Sorry, not yet. We do build Scala.js itself and run its tests, but we cannot (yet?) build Scala.js or Scala Native projects.

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:

Detailed technical discussion can happen on https://gitter.im/scala/community-builds.

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

Clone this wiki locally