Skip to content

blog post about the Scala community build #810

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

Merged
merged 3 commits into from
Jan 22, 2018

Conversation

SethTisue
Copy link
Member

reviews/feedback welcome

@retronym
Copy link
Member

Very nice.

Perhaps we could provide a few concrete examples of ways this has saved us, or ways we plan to use this.

  • we're planning to use the community build to guide the source compatibility of the new collections (in addition to checking their performance)
  • we can test out new releases, or flavours (Graal, OpenJ9) of the JVM in order to find bugs or other incompatibilities that need to be addressed.

@dwijnand
Copy link
Member

Is it worth a shout out to MiMa? I wonder if it's worth stating that the Scala community build compiles project code, compiles and runs its tests, and therefore tests source compatibility and runtime behaviour, leaving binary compatibility concerns to MiMa?

I mention it because in sbt land we're always torn about wanting to ensure we definitely don't break bincompat in the already-published plugins, but at the same time we don't want to majorly inconvenience build users and plugin authors with a big impacting source incompatibility.

depend on each other, so only freshly built code, built by freshly
built Scala, is involved.

## What's it for?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe change this subsection to be called: "Why do we do this?"

spire, spray-json, ssl-config, tut, twirl, twitter-util, twotails,
unfiltered, upickle, utest, zinc.

Interested in adding a library? See our
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rephrase: "Want to add your project to the community build?"

@heathermiller
Copy link
Member

Very nice Seth! I just added two little nit picks that make things look clearer to my eyes, but you don't need to act on them if you don't want to. Feel free to merge when ready! :)

Also–thanks a lot, guys, for writing a blog article!

@SethTisue
Copy link
Member Author

I've pushed one more commit that:

  • makes Heather's suggested changes
  • adds a "Has it helped?" section along the lines suggested by Jason

Perhaps we could provide a few concrete examples

the text I added still isn't super concrete, but I'm going to keep this in mind for future blog posts about the community build. I'm envisioning a once- or twice-yearly blog post, probably on the short side, that says what projects we've added and includes some stories about how the build has helped us recently.

Is it worth a shout out to MiMa?

Hmmm... yeah, I was tempted to delve a little deeper into how source compat and bincompat differ, why it's so important that dbuild rewires inter-project dependencies rather than just building everything separately, and so forth. But I feel like this post is probably already long enough.

I think I'll keep these topics in mind for a future blog post. Either a sequel to this one, or perhaps a blog post about our QA efforts more generally — community build, MiMa, Scabot, partest, the stability test in bootstrap, etc etc etc, a survey of that whole landscape.

@SethTisue SethTisue requested a review from adriaanm January 17, 2018 20:34
@SethTisue
Copy link
Member Author

added a bit more "benefits" text:

+Library authors have also benefited.  The community build has
+often provided early warning of compatibility issues because
+of changes to Scala or changes to other libraries.  It has helped
+maintainers standardize their builds, keep their dependencies
+up-to-date, identify flaky tests, and shake out assorted other
+issues.

@SethTisue SethTisue merged commit ac30984 into scala:master Jan 22, 2018
@SethTisue SethTisue deleted the community-build-blog-post branch January 22, 2018 20:42
@SethTisue
Copy link
Member Author

@SethTisue
Copy link
Member Author

historical footnotes, to be entered into the Chronicles of Scala (unabridged 83-volume edition):

I ended up rather arbitrarily choosing 2013 as the start date in the blog post, since it wasn't clear to me if the 2013 thing was descended from Josh's 2012 work or not.

The biggest reason I waited so long before writing this blog post is a stupid reason: I wanted accurate LOC counts before blogging, but procrastinated endlessly on actually writing the cloc plugin. (Which, when I finally did it, was only a day's work, so go figure.)

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

Successfully merging this pull request may close these issues.

4 participants