This repository has been archived by the owner. It is now read-only.
pastamaker is a Github App to automatically manage Pull Requests "branch update" and "merge"
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.
pastamaker
ui
.gitignore
.travis.yml
LICENSE
README.rst
config.yml
dashboard.jpg
default_policy.yml
gnocchixyz_policy.yml
setup.cfg
setup.py
tox.ini

README.rst

pastamaker

Build Status

pastamaker is a Github App to automatically manage Pull Requests "branch update" and "merge" when this one have 2 reviewer approvals

It's currently used by gnocchixyz projects, the app name is 'pastamaker'.

Github App Settings

You should obviously replace https://<app-name>.herokuapp.com by the url where you host the application.

General

  • Homepage URL: https://<app-name>.herokuapp.com
  • User authorization callback URL: https://<app-name>.herokuapp.com/auth
  • Setup URL: None
  • Webhook URL: https://<app-name>.herokuapp.com/event
  • Webhook secret: <webhook_secret>
  • Generate the private key: # Click on the button #

Pick the ID on the right, you will need it later.

Permissions

Commit statuses - ReadWrite

  [x] Status

Pull requests - ReadWrite

  [x] Pull request
  [x] Pull request review
  [x] Pull request review comment

Repository contents - ReadWrite

  No webook

Heroku Setup

heroku apps:create <app-name>
heroku addons:create redistogo:nano
heroku addons:create scheduler:standard

heroku config:set -a <app-name> \
    PASTAMAKER_INTEGRATION_ID=XXXX \
    PASTAMAKER_WEBHOOK_SECRET="<webhook_secret>" \
    PASTAMAKER_PRIVATE_KEY="$(cat <path to the private key>)" \
    PASTAMAKER_BASE_URL="https://<app-name>.herokuapp.com" \
    PASTAMAKER_WEBHACK_USERNAME="<app-name>-bot" \
    PASTAMAKER_WEBHACK_PASSWORD="<password>"

git push -f heroku master

heroku ps:scale worker=1

heroku addons:open scheduler:standard
# trigger refresh manually or to configure the scheduler
heroku run python pastamaker/refresher.py

Dashboard

Pastamaker offers a dashboard that you can access using a Web browser. Just point to the URL where your WSGI service runs.

dashboard.jpg

Github Projects Branch protections setuped by pastamaker

{
    'required_pull_request_reviews': {
        "dismiss_stale_reviews": True,
        "require_core_owner_reviews": True,
    },
    'required_status_checks': {
        'strict': True,
        'contexts': ['continuous-integration/travis-ci'],
    },
    'enforce_admins': {
        "enabled": True
    }
}