Skip to content

Community build #2182

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
9 of 17 tasks
felixmulder opened this issue Apr 4, 2017 · 23 comments
Closed
9 of 17 tasks

Community build #2182

felixmulder opened this issue Apr 4, 2017 · 23 comments
Assignees

Comments

@olafurpg
Copy link
Contributor

olafurpg commented Apr 4, 2017

@liufengyun

  • Which repo will the community build be hosted?
  • Are there any planned candidate projects for the community build?

I'm happy to help out with this issue.

@felixmulder
Copy link
Contributor Author

I can reiterate what was said at the meeting:

  • Which repo will the community build be hosted?

lampepfl/dotty-community-build

  • Are there any planned candidate projects for the community build?

We should include the ones already compiling (and working):

  • Better files
  • Scalacheck
  • Scalatest (only tried compilation)

@DarkDimius
Copy link
Contributor

DarkDimius commented Apr 4, 2017

Which repo will the community build be hosted?

lampepfl/dotty-community-build

That's not how I undestood what was discussed in the meeting.
The way I understood it:

  • forks of projects in community build are maintained in organisation "dotty-staging"
  • git submodules that refer to this projects are stored in Dotty repo itself.
  • (wasn't discussed, but I infered it and propose to do it this way) we have a jUnit test that builds every of those projects, which is only run by the nightly CI.

@felixmulder
Copy link
Contributor Author

felixmulder commented Apr 4, 2017

Keeping it on staging is fine IMO, but the other point I don't agree with.

I propose the structure to be something like:

.
├── dotty (submodule @ latest master)
├── better-files (submodule)
└── scalatest (submodule)

Then you do publishLocal on dotty and use it to compile the other submodules.

Making a fork of dotty which contains submodules sounds messy.

@liufengyun liufengyun assigned liufengyun and unassigned liufengyun Apr 4, 2017
@olafurpg
Copy link
Contributor

olafurpg commented Apr 6, 2017

@felixmulder Where is the latest work on compiling scalatest+scalacheck+better-files with dotty?

@DarkDimius Can you invite me and @liufengyun to the dotty-staging organization with permission to create new repositories?

@OlivierBlanvillain
Copy link
Contributor

@olafurpg scalatest is here: https://github.com/OlivierBlanvillain/scalatest/commits/dotty

@olafurpg
Copy link
Contributor

olafurpg commented Apr 7, 2017

I made some progress today on the infrastructure side, see here lampepfl/dotty-community-build#1

This sets up a build where @OlivierBlanvillain's fork of scalatest is compiled against the latest NIGHTLY release of Dotty. We can then add more projects to the build by adding new submodules.

@olafurpg
Copy link
Contributor

Scalatest + infrastructure is up! @felixmulder Can you assign me please to this issue so I can check out those boxes.

I've started working on scalacheck now dotty-staging/scalacheck#1

@felixmulder
Copy link
Contributor Author

I cannot - @DarkDimius or @densh has to add you to the dotty team, then you can self assign.

@olafurpg
Copy link
Contributor

It seems better-files on master branch does not compile with 2.11 since November 2011. It uses uses BufferedIterator.headOption. I'm gonna work put better-files on hold until this gets fixed, better-files is incubating for inclusion in the Scala platform so it will need to support 2.11 according to @jvican.

I'm stuck on an assertion error in typer.Implicits for compiling scalacheck. See stack trace, could someone with more Dotty experience take a look at that? (ps. I asked same question on gitter)

I'm gonna work on squants next.

@DarkDimius
Copy link
Contributor

I cannot - @DarkDimius or @densh has to add you to the dotty team, then you can self assign.

Done.

@olafurpg olafurpg self-assigned this Apr 10, 2017
@olafurpg
Copy link
Contributor

The community-build is taking shape now. Here are a few notes that might be helpful on how to add a new project, say project ORG/REPO, to the current infrastructure:

  • fork ORG/REPO to dotty-staging/REPO
  • clone dotty-staging/REPO, create branch "dotty", push dotty branch
  • Open dotty-staging/REPO on Github: Settings > Branches > change main branch to "dotty"

screen shot 2017-04-10 at 18 32 53

A nice benefit with this setup is that build failures in lampepfl/dotty-community-build are easy to debug. For example, if only one repo fails the travis build page looks like this

screen shot 2017-04-10 at 18 45 08

Build logs for each community project are separated so it's easy to track down a failure in a single project: https://travis-ci.org/lampepfl/dotty-community-build/jobs/220623982#L1705

I'm sure this setup can be simplified/automated/improve on many ways, so any feedback is welcome.

@olafurpg
Copy link
Contributor

BTW. If someone's interested, it might be worth investigating if https://github.com/storm-enroute/mecha can be used for this setup.

@felixmulder
Copy link
Contributor Author

@olafurpg - since we're now on 2.12.3 we should add better-files to the community build! 🎉

@allanrenucci
Copy link
Contributor

@olafurpg Is ScalaCheck still stuck on an assertion error with the latest nightly?

@allanrenucci
Copy link
Contributor

allanrenucci added a commit to allanrenucci/dotty-community-build that referenced this issue Sep 26, 2017
allanrenucci added a commit to allanrenucci/dotty-community-build that referenced this issue Sep 26, 2017
allanrenucci added a commit to allanrenucci/dotty-community-build that referenced this issue Sep 26, 2017
@allanrenucci
Copy link
Contributor

ScalaCheck is blocked by two implicit resolution failures: https://travis-ci.org/dotty-staging/scalacheck/builds/280025029#L1596

I was not able to minimise the failures though

@smarter
Copy link
Member

smarter commented Sep 26, 2017

@allanrenucci
Copy link
Contributor

scopt/scopt is blocked by #3189

@allanrenucci allanrenucci changed the title Community build using git submodules Community build Nov 30, 2017
@Blaisorblade
Copy link
Contributor

Idea/question: many projects are hard to test because they use macros, so could we go to their Scala 2.9 version? We'd run into other incompatibilities (view bounds), but I suspect they're much more superficial.

@smarter
Copy link
Member

smarter commented Feb 19, 2018

I don't think porting Scala 2.9 code is going to be very useful. Ideally we want to compile libraries with their dependencies, so we need recent version of these dependencies. What we need is to figure out how to replace macros in projects on case by case basis, even if this means adding special cases in the compiler to ease transition (e.g. support for kind-projector syntax)

@smarter
Copy link
Member

smarter commented Feb 19, 2018

We also want to have our changes merged into the upstream library when reasonable, fixing an old version of the library wouldn't help for that.

@allanrenucci allanrenucci removed this from the 0.7 Tech Preview milestone Jul 23, 2018
@liufengyun liufengyun removed their assignment May 29, 2020
@dwijnand
Copy link
Member

I assume things have changed and this isn't representing or tracking the status quo of the community build, so we can close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants