This repository contains tests to build a corpus of Scala open sources projects against a specific version of Dotty.
To run the community build on a local machine, clone the repo and execute ./run.sh
.
The tests will by default run against the latest NIGHTLY build of dotty.
You may customize the dotty bersion by passing the DOTTY_REFERENCE
variable to run.sh
. This
variable is used to identify a specific revision to build, publish locally and against which the
tests will be run. Some examples:
- Build a PR:
DOTTY_REFERENCE="+refs/pull/3306/merge" ./run.sh
- Build a tag:
DOTTY_REFERENCE="0.3.0-RC2" ./run.sh
- Build a specific commit:
DOTTY_REFERENCE="deadbeef" ./run.sh
- Build using the latest nightly:
./run.sh
To add your project to the community build you can follow these steps:
-
Create a new branch in your project. Name it
dotty
(not mandatory). -
Get your project to compile with Dotty. Instructions can be found on the dotty-example-project. Here are examples of projects that compile with Dotty:
- typelevel/algebra
- pathikrit/better-files
- rickynils/scalacheck
- scalapb/ScalaPB
- scalatest/scalatest
- scopt/scopt
- typelevel/squants
- scala/collection-strawman
Please open an issue on Github if you believe your project doesn't compile because of a bug in Dotty.
-
Once your project compiles with Dotty, open a PR against this repo that:
- adds a test for your project in CommunityBuildTest.scala.
A test requires:
- Your project git url
- The name of the branch to build. Default to
dotty
- The command
sbt
needs to run in order to build the project
- adds an entry for your project in .travis.yml that matches the name of the test
- adds a test for your project in CommunityBuildTest.scala.
A test requires: