Skip to content
Seth Tisue edited this page Jan 17, 2018 · 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 2018, there are 141 repos in the config file

Where does this run?

A community build is typically run as part of Scala's CI infrastructure, as documented in the scala-jenkins-infra README.

The community builds are included in Scala's nightly-build jobs on Jenkins.

Build results are viewable on scala-ci.typesafe.com. (For example, see the 2.12.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.

For more details, see Local runs.

What variations of the build exist?

There are currently four:

Scala version JDK version branch name Jenkins job
2.11.x Oracle JDK 6 2.11.x link
2.11.x OpenJDK 8 2.11.x-jdk8 link
2.12.x OpenJDK 8 2.12.x link
2.13.x OpenJDK 8 2.13.x link

We also have branches where all projects are frozen at fixed SHAs. These were the SHAs used to test Scala before a release, so the branch names correspond to Scala version numbers (2.12.0, 2.12.1, etc).

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 projects support multiple back ends. That's not a problem for the community build; we just disable the non-JVM portions.

How do I add my project?

On the 2.12.x branch, in the configs directory, edit community.build and project-refs.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