code: function publishToGithub(version) {
          return new Promise(function(resolve, reject) {
            version = 'v' + version;
            tag(); // calls push() on success
  
            function tag() {
              _spork('git', ['tag', version], push, _.partial(reject, new Error('failed to create git tag')));
            }
  
            function push() {
              _spork('git', ['push', 'origin', version], done, _.partial(reject, new Error('failed to publish release to github')));
            }
  
            function done() {
              if (!options.quiet) {
                gutil.log('Published', '\'' + chalk.magenta(version) + '\'', 'to \'' + chalk.cyan('github') + '\'');
              }
  
              resolve();
            }
          });
        }
docs: Publish the current codebase to github. Requires the [version] to generate the `git tag` in the format 'vX.X.X'.
  
  @param {string} [version] - The version to publish. Will be in the format 'X.X.X' and converted to `vX.X.X` by this function.
  @return {Bluebird promise} - Resolves or rejects (with nothing) based on the status of the `git` commands.