核心协作团队编年史

What’s this, a new feature series on the Umbraco blog? Not exactly. This used to be called the PR team chronicles, more on that later! In this update we’ll look at the latest stats, the team visit in Odense last November, team changes, the new team name and how you can get more involved.

I’ve got a lot to cover in this blog post, so for those of you feeling the “TL:DR” vibe, here’s a brief overview of what you can find in this post:
 

  • The PR Team is now the Core Collaborators team - discover why.
  • The team’s activities are described on Our Umbraco
  • The lovely Kenn Jacobsen has joined our team
  • We have a new Slack channel where we invite people to help us with their expertise - discover how to take part.
  • The Core Collaborators team members are merging PRs on their own now, 175+ so far!
  • We’re merging more PRs than come in, to make the backlog of open PRs smaller
  • We’ve had 14 first-time contributors in the last 2½ months 🤩

You see - a lot has happened recently! Now to all the details: 

Team visit

In my last PR update in November I was still in the middle of processing a great event that had just happened the week before: a visit from the PR team at our Umbraco headquarters in Odense!

We have blogged about the joined visit from all the community teams without going too much into the specifics, but let’s go a little bit more in-depth about what that visit meant for the PR team specifically.

The PR team: Emma, Anders (phone), Sebastiaan and Poornima

I’ll be honest, the team visit was a bit of a blur for me as I came down with a severe cold that week and I really should have just been in bed instead 🙈

Luckily, my team was great at actually writing things down so I can summarize this now!

A new face!

First and foremost, we have a new addition to the team in the form of Kenn Jacobsen.

Kenn, Sebastiaan and Jan after their Codegarden 2019 performance

Kenn has been a super active pull request contributor over the past few years and it only made sense to ask him to share his great expertise in creating pull requests with the PR team and the Umbraco community in general. We’re delighted to have him on board to make the experience of submitting pull requests even better 🎉🤩

A new name

One of the main activities of the team visit was to figure out and formalize what it is that the different teams do. We initially started building the community teams as experiments to see how we could get more of your bright minds involved in what Umbraco HQ produces. 

After the last few years of experience with that we’ve come to the conclusion that we LOVE working with small teams like these and we want to do more of it! 

In order to give future teams a structure to start with we needed to figure out: what is it we do and how are we doing it?

We realized that the PR team does a lot more than just pull requests and decided to update our name to better reflect our activities. Therefore we are now known as the Core Collaborators team.

We now also have a mission statement:

 

We empower you to influence how your favorite CMS evolves by guiding your contribution, ensuring the process is clear, simple and enjoyable.

 

On Our Umbraco, the “Get Involved” section now lists our mission, focus areas, goals, activities and more.

A new communication channel

Over the last few months, we’ve been experimenting with a new Slack workspace to ask the broader community for feedback around contributions as well. A select number of very active people on GitHub has been helping us provide feedback for incoming issues and pull requests so that the Core Collaborator team can be more independent from Umbraco HQ. 

Getting input from these Slack channels has helped increase the responsiveness and diversity of feedback on new incoming requests from Umbraco users and has the potential to be used even more with the help of some bots.

I’ve recently set up a new bot to make sure that people who submit a PR don’t get left hanging without a response for too long. If a pull request doesn’t get so much as a “thank you” for over 24 hours, the bot will remind us, that it’s been quite a while since the PR was submitted, it looks like this:

UmbraBot letting us know not to drop the ball

 

You can see from the checkmarks that someone is reporting back: “all done, have replied”. 👍

If you want to help us out and provide feedback when we need it then you can invite yourself into this Slack workspace now

Please do note that this is not a place to go for any type of Umbraco support questions or to promote your own issues/pull requests.

We have started with a few specialized channels which would be great for experts in that area to join, especially because the expertise of the current team members on those topics is not very high, we would love to pick your brain some time!

Specialized channels

 

This Core Collabotor Slack space is very much meant as a space where we’d like the Umbraco community to help each other improve contributions to Umbraco. We hope to see all you lovely people who would love to work together with the team in these channels 🙋‍♂️

A new workflow

With the ever increasing activity around pull requests it has been getting harder and harder for one person (me) to keep up and merge all the pull requests that the Core Collaborator team has approved for me. I was often the bottleneck for PRs that I couldn’t find enough time to merge. 

On the other hand, at Umbraco HQ we also need to make sure that we do some quality control before pull requests end up in a release branch.

To achieve this, we changed the workflow:

  • The default branch used to be v8/dev, which is the branch from which the next minor version of Umbraco is being built, anything in the v8/dev branch will be part of the next minor version we release.
     
  • The new default is v8/contrib, all new PRs are targeted against this branch and the Core Collaborators team has commit rights to this branch, they are able to merge PRs directly to the contrib branch if someone else on the team has also approved the PR.
     
  • Every morning, I make sure v8/dev gets merged into v8/contrib so the dev branch doesn’t diverge too much from the contrib branch.
     
  • Once a week I set aside a few hours to look at the merge PRs, making sure they are changes we want and are of sufficient quality. At this point I can take some things out if needed.
     
  • If all is well, I merge the contrib branch into the dev branch and then the merged PRs will be part of the next minor release of Umbraco.

This process is not only saving me a ton of time in dealing with merge conflicts and individually testing all the PRs, but also ensures that there is more diversity in who evaluates these pull requests. At least three people need to sign off on these PRs (2 Core Collaborator members plus me). More sets of eyes looking at a PR means we will likely discover any potential problems quicker than if it’s just me doing this.

This new workflow has lately resulted in 175 PRs being merged solely by the community team without me having to the bottleneck. This deserves a huge round of applause to Anders, Emma, Kenn and Poornima! 👏👏👏👏👏

Pull request progress

With our new workflow comes good looking PR numbers! Even though it might look a little bit sad in the last months, it’s really only because Hacktoctoberfest led to such an enormous influx of incoming PRs in October!

The numbers since November:

  • November: incoming 77, closed/merged: 40 (🙈)
  • December: incoming 46, closed/merged: 84 (🎉)
  • January: incoming 54, closed/merged: 99 (it would have been 100 but I miscalculated! 😂😅)

It’s been wonderful to see more being merged than created for the last two month, all thanks to the community team being empowered to merge pull requests themselves!

New contributors

Since November, we’ve welcomed the first contributions from the following fourteen lovely people:

big #h5yr to everyone for dipping their toes in the waters of Umbraco contributions. We hope to see you all back soon with new fixes! 🎉

In conclusion

Whew, I’ve covered a LOT in this post! 😅 Well done for making it this far! As a helpful gesture, let me do a brief recap (yes, it’s the same as the TL:DR above, but now you also know all the detail in between!):
 

  • The PR Team is now the Core Collaborators team
  • The team’s activities are described on Our Umbraco
  • The lovely Kenn Jacobsen has joined our team
  • We have a new Slack channel where we invite people to help us with their expertise
  • The Core Collaborators team members are merging PRs on their own now, 175+ so far
  • We’re merging more PRs than come in, to make the backlog of open PRs smaller
  • We’ve had 14 first-time contributors in the last 2½ months 🤩

Right now we’re working on more friendly automation where it makes sense and better overviews for our team.

Last but not least: Yes, your Hacktoberfest swag has been ordered, but it will take a little more patience 🙏

That’s it for me from now, happy contributing! 👍🌟🏅

by Sebastiaan Janssen

Posted: 星期二 18 二月 2020