gulp-github-automator
It"s a collection of gulp tasks with the objective of simplify the workflow of your application development in your GitHub repository.
The principle is simple: Your master branch is always in sync with your production environment, and develop branch is used as base of new features. With this We can automate the changelog file generation and versioning info. New versions of your application are created when needed as well the releases and tags on your GitHub repository.
More details About Semantic Versioning
Usage
In your gulpfile.js:
var automatorTasks = ; // Load tasks;
Options
preset
Type: string
Possible values: "angular", "atom", "codemirror", "ember", "eslint", "express", "jquery", "jscs", "jshint"
Is the pattern of the commits messages, with this you can automate the changelog generation and define automatic version detection. The default one is the angular preset.
testTask
Type: string
Default: undefined
Is the task that you are using to test things before the submission of your code. It"s optional, and if not defined the test will be skiped.
token
Type: string
You can get the token in your settings page in GitHub. Security concerns: If you put the token directly in your source code everyone with access to the code will be able to use this token.
versionFiles
Type: array
Default: ["package.json", "bower.json"]
Where github-automator will search for versioning strings for the automatic version bump.
Tasks
To run a task just type $ gulp taskname
in your project directory.
init
Configure your repository with needed files and branches and bump the first version from the one in your package.json manifest.
start-feature
Start a new branch from develop branch with a new feature. Use -n
argument to define the name (or reference) to the new feature. You will be asked if you want to send the feature branch to the origin repository.
finish-feature
Merge the given feature branch (use -b
argument to define the branch name). With testTask argument you can define a gulp task to test your application before we finish.
start-release
Start a new branch with all features from develop branch that will be merged in future to the master branch. You will be asked if you want to send the release branch to the origin repository.
finish-release
Merge the given release branch (use -b
argument to define the branch name). With testTask argument you can define a gulp task to test your application before we finish.
start-hotfix
Start a new branch from the master branch. You will be asked if you want to send the hotfix branch to the origin repository.
finish-hotfix
Merge the given hotfix branch (use -b
argument to define the branch name). With testTask argument you can define a gulp task to test your application before we finish.