Giter Club home page Giter Club logo

github-tools's Introduction

GitHub Tools module for ZF2

Created by Oscar Fanelli

Introduction

ZF2 module that provides tools to connect your application with your GitHub repository via ZF2 console. What you can do?

  • Automatically create a new PR (from develop to master) and a new draft release (its notes will contains the diff commits between develop and master)
  • Mark a repository as deployed

Installation

GitHub Tools work with composer. Make sure you have the composer.phar downloaded and you have a composer.json file at the root of your project. To install it, add the following line into your composer.json file:

"require": {
    "pensiero/github-tools": "~1.0"
}

Requirements

Configuration

Use the config/github-tools.local.php.dist as blueprint configuration file: copy it to the config/autoload directory of your ZF2 application and remove the .dist extension from its name.

If you are using environment variables to store sensible informations of your projects (like auth keys) you can use the following ones:

  • GITHUB_ACCESS_TOKEN will override the github_access_token config
  • ENV will override the environment config
  • PROTOCOL and HOST will be combined in order to override the target_url config

NOTE: if github_from_branch === github_to_branch, PR creation will be skipped and the release will be created with the diff commits against the latest release

Available commands

Mark a repository as deployed

Will be marked the configurated GitHub repository as deployed

php public/index.php github mark-repo-deployed

Create a new release

Will be created a new PR from github_from_branch to github_to_branch named with the new version name. Will be created a new draft release for github_to_branch named with the new version name.

Major

New version name: get the latest release name and increment the major part of 1, according to semver.

Example:

  • Latest release: v2.0.3
  • New release: v3.0.0
php public/index.php github create-major-release

Minor

New version name: get the latest release name and increment the minor part of 1, according to semver.

Example:

  • Latest release: v2.0.3
  • New release: v2.1.0
php public/index.php github create-minor-release

Patch

New version name: get the latest release name and increment the patch part of 1, according to semver.

Example:

  • Latest release: v2.0.3
  • New release: v2.0.4
php public/index.php github create-patch-release

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.