grunt-github-releaser
Task for automated github releases
Getting Started
This plugin requires Grunt ~0.4.2
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-github-releaser --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('waves-grunt-github-releaser');
The "github-release" task
Overview
In your project's Gruntfile, add a section named github-release
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
"github-release": {
options: {
repository: 'dolbyzerr/grunt-github-releaser',
auth: {
user: 'dolbyzerr',
password: ''
}
},
files: {
src: ['dist/release.zip']
}
},
});
Options
options.repository
Type: String
Default value: ``
Repository path in :owner/:repo
format.
options.auth
Type: String
Basic authorization, see "Personal Access Tokens" in https://github.com/settings/applications
options.release
Type: Object
Here you can provide custom release settings, according http://developer.github.com/v3/repos/releases/#create-a-release
These section is tottaly optional. If no tag_name
specified than version
field, from package.json
will be used.
Usage Examples
This example will:
- Create tag, from
package.json
version field. For example: 0.1.16
- Create Release named
0.1.16
- Upload
release.zip
from dest
folder, and attach it to release
grunt.initConfig({
github_releaser: {
options: {
repository: 'dolbyzerr/grunt-github-releaser',
auth: {
user: 'dolbyzerr',
password: '123'
}
},
files: {
'dest': ['release.zip'],
},
},
});
Custom Release Options
In this example, custom release options are used to specify custom name, description, prerelease state etc.
grunt.initConfig({
github_releaser: {
options: {
repository: 'dolbyzerr/grunt-github-releaser',
auth: {
user: 'dolbyzerr',
password: '123'
},
release: {
tag_name: 'v3-rc',
name: 'jelly-bean',
body: 'Description of the release',
draft: false,
prerelease: true
}
},
files: {
'dest': ['release.zip'],
},
},
});
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
(Nothing yet)