Automating the tedious parts of open source on Azure
Contributing to Open Source is a great way to get involved in community. Usually it's as simple as making your contribution, but when you start getting involved with larger projects at larger companies, legal gets involved. Projects need to have a "CLA" or Contributor License Agreement. For example, AngularJS has a form to fill out before sending a pull request. For individuals, it's a small form, but for companies, it's scanning, emailing, and/or faxing time.
As more and more of Azure goes open source with Azure SDK for .NET, PowerShell CmdLets, Mobile Services all on GitHub, as well as all the documentation available on GitHub as Markdown it needs to be easier to accept pull requests (PRs).
In fact, at the bottom of all the Azure Documentation is now a "Contribute to this article" where you can send PRs to help improve the docs or fix technical errors.
In order to make Contributing easier, the Azure folks made an Azure Pull Request Bot. It will automatically look at a PR, figure out if a contributor needs a CLA, setup the online form, even accept digital signatures and more! Even better, the way you start the bot's process is that you send a PR.
I'm going to submit a PR for Azure Documentation, specifically the article on Creating a Virtual Machine.
First, I'll fork the Azure Docs Repo from the GitHub site.
Next, I'll work on the article from my fork. I could do this locally, or on the GitHub site directly depending on the size of what I'm doing. The CLA only needs to be signed if you're changing more than about 15 lines.
The article on GitHub is here but I'll work on my fork here. It's Markdown, so I can either use an editor like MarkdownPad or edit online. I made a number of changes, some corrections, some additions to this article. Next I create a Pull Request.
After making the pull request - instantly - the GitHub PR gets a comment from the Azure Pull Request Bot!
And the PR gets a label showing the status of my PR as requiring a CLA.
I click the link and can sign in with my GitHub account.
I fill out a quick form...
In a couple of minutes a verified email shows up from Docusign.
I sign it, and I'm all set! The PR and CLA will get evaluated and merged. I'm hoping this process might be used by other teams at Microsoft as we continue to Open Source All The Things.
Sponsor: Big thanks to Octopus Deploy for sponsoring the feed this week. They are FANTASTIC. Truly, check it out, the NuGet team uses them. Using NuGet and powerful conventions, Octopus Deploy makes it easy to automate releases of ASP.NET applications and Windows Services. Say goodbye to remote desktop and start automating today!