Skip to content

Run community build on every PR #5809

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
OlivierBlanvillain opened this issue Jan 28, 2019 · 1 comment
Closed

Run community build on every PR #5809

OlivierBlanvillain opened this issue Jan 28, 2019 · 1 comment

Comments

@OlivierBlanvillain
Copy link
Contributor

The way we currently use the community build is quite inefficient because of the asynchronous reporting of errors. The build has now been broken for more than a month, and is now broken from (at last) 4 different PRs.

I would like to propose an alternative approach to make things more efficient: compile the community build on every PR as part of the CI.

I think the best way to do that would be to merge dotty-staging/sourcecode with lampepfl/dotty, that is:

  • Add all the dotty-staging/community-project-X as submodules to the dotty repo. We already do that for the collection strawman, also for testing purposes.

  • Create a sbt task in dotty's build to compile the community build with the current compiler. It will take about 10 minutes to run can be parallelized with everything else on the CI.

Is anyone opposed to this?

@SethTisue
Copy link
Member

when the Dotty community build starts taking 15 hours to run like the Scala 2 one, you might need to make a different decision :-)

OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 1, 2019
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 1, 2019
This commit effectively replaces the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala to and contains all the
integration tests for the community build.

In case of failure, due to unitialized submodules and actual regression,
the tests output intructions to reproduce the error without JUnit.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 1, 2019
This commit effectively replaces the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala to and contains all the
integration tests for the community build.

In case of failure, due to unitialized submodules and actual regression,
the tests output intructions to reproduce the error without JUnit.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 1, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these intructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approch, where the
community build maintenence was centralized (Allan did all the work) and
asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be cought earlier than before.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 1, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these instructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approach, where
the community build maintenance was centralized (Allan did all the work)
and asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be cough earlier than before.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 4, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these instructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approach, where
the community build maintenance was centralized (Allan did all the work)
and asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be cough earlier than before.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 4, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these instructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approach, where
the community build maintenance was centralized (Allan did all the work)
and asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be cough earlier than before.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 5, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these instructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approach, where
the community build maintenance was centralized (Allan did all the work)
and asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be cough earlier than before.
OlivierBlanvillain added a commit to dotty-staging/dotty that referenced this issue Feb 5, 2019
This commit is meant to replace the infrastructure previously setup in
https://github.com/lampepfl/dotty-community-build. A new sbt project,
community-build, is added to dotty's Build.scala and contains all the
integration tests for the community build.

In case of failure the tests will output instructions on how to
reproduce the error without JUnit. Hopefully these instructions are
sufficient to have everyone fix regressions as they are introduced,
or as a very last resort, update the code for the community build.

This should be the main improvement over the previous approach, where
the community build maintenance was centralized (Allan did all the work)
and asynchronous (it's now broken for more than a month...).

Another improvement is that a published local version of the sbt plugin
is used when running the integration test, so breakage to sbt-dotty
should be caught earlier than before.
OlivierBlanvillain added a commit that referenced this issue Feb 7, 2019
Fix #5809: Run the community-build on every PR
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

2 participants