GitHub allows you to maintain a list of your previous releases, linked to the commit that was used, and attach any artifacts you have, see the releases page of the TeamCity xUnit meta runner for an example. You can create these manually from the GitHub website, but I wanted to add it into my Continuous Integration process, creating a release with the built artifacts on every checkin. This example uses Appveyor for the CI server (Scott Hanselman talks more about it here), but could use any CI system which allows you to run Powershell scripts.
The script has a few variables that need to be configured for your project. The example below uses Appveyor environment variables for a lot of these. The variables are:
Once you have updated the variables add this script to the “On build success script” textbox on the project settings page
Now when your build runs you should see a new release in GitHub complete with your built artifact.
Thank you for this - it doesn't appear to work with GitHub given that OAuth is now required.