Plugin for automating github releases
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tasks
test
.gitignore
.jshintrc
Gruntfile.js
LICENSE-MIT
README.md
package.json

README.md

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('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', // Path to repository
      auth: {   // Auth credentials
        user: 'dolbyzerr',
        password: ''
      }
    },
    files: {
      src: ['dist/release.zip'] // Files that you want to attach to Release
    }

  },
});

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)