Update on GitHub migration

19 views
Skip to first unread message

Will Abson

unread,
Mar 29, 2013, 12:59:16 PM3/29/13
to share-ext...@googlegroups.com
Hi all,

I wanted to give an update with the migration to GitHub, which has been proceeding slowly but surely over the last few weeks.

All project source code has been migrated over to the share-extras organisation on GitHub.

This has not only involved physically moving the complete version history over into Git, but has given me the opportunity to consolidate the wiki page content from Google Code and the previously rather under-used README.txt files in the repository. GitHub's excellent Markdown support means the quality of the docs has improved greatly in the new project locations.

One of the pain points in moving over to GitHub is that they no longer provide a download area for projects to upload binary releases. However, after problems with the Media Viewers 2.0 release I was keen to get away from building and uploading releases manually, and so this has given me the opportunity to script this.

All the current projects are configured with a custom GitHub webhook endpoint which I have implemented as a Python script on sharextras.org. With this in place the process of creating a release is as easy as creating a tag in the Git repo and pushing this to GitHub. It seems creating annotated tags is generally recommended, so the release process can now be done with a few commands, e.g.

# increment the version number in the JAR file name - this should be in the format v?.?.? where the '?' parts are numeric
vim build.properties
git add build.properties
git commit
git tag -a v1.2.3
git push origin master
git push origin v1.2.3

GitHub will call the webhook, which will create a build using Ant or Maven, depending on the project (yes, we have our first Maven project too!). After a few seconds the v1.2.3 release should appear under http://sharextras.org/artifacts/, along with the other releases, which include the historic downloads which I have migrated from Google Code.

Currently the script is configured to build tagged releases only, but it should be possible to build snapshot releases after each commit, with a little more work.

The next and last part of the migration involves creating a GitHub page for each of the add-ons. This will pull in the README content but use a custom theme to provide a more friendly interface for non-developers, complete with links to the latest releases. You can see a test page for the Media Viewers add-on on GitHub pages. You can see how the project link can be used by developers to click through to the source code.

So in summary we are nearly there. The migration has not been an easy task but with two useful forks which are contributing back to the Google Analytics and JavaScript Console add-ons, GitHub is helping to make contributions much much easier. The move will also provide a friendlier face on the web for the projects for both devs and non-devs, and help to raise the profiles of the add-ons.

Cheers,
Will
Reply all
Reply to author
Forward
0 new messages