Git Product home page Git Product logo

leck's Introduction

Leck

  • a.k.a. Gerrit like access controls for GitHub peer-review
  • a.k.a. Per-branch "permissions" on GitHub

Rather than embrace the "shiny" merge button on pull-requests, start a dialog and bring people into the conversation by embracing review and helping name and correlate issues. This project acts as a webhook receiver to then look over a pull-request for a few criteria:

  • Sum of +2 from authorized reviewers
  • Proper naming of issues (e.g. xref issues/bug reports)
  • Check to see if tests have run / successfully passed (status api)
  • Merge comment from an authorized reviewer (to replace the merge button)
  • Summarize pull-request comments into the merge commit (for review in git history)

See also

Similar/related projects

Rules concepts

Externals and dependencies

Most python depencies are captured in *requirements.txt:

pip install -r requirements.txt
# For testing
# pip install -r test-requirements.txt

There are some additional dependencies based off the owners "Rules concepts" that have been added directly from external repos (e.g. no dependency configuration). Additional info can be found in Leck/external/get.sh.

Owners and Owners finder example

>>> import glob
>>> import os
>>> import Leck.external.owners as owners
>>> import pprint
>>> owners_db = owners.Database('.', fopen=file, os_path=os.path, glob=glob.glob)
>>> pprint.pprint(owners_db.reviewers_for(['README.md'], '[email protected]'))
set(['[email protected]'])

(see also: Tests and owners_example.py)

Repo dependency setup for Leck

config.ini Should have the associated on disk repo location configured for the section under repoowner. The assumptions for this directory are:

  • The repo and the keys to update it are under control of the user running the Leck program (e.g. it will shell out to perform git updates)
  • It will be reset to the pull-requests base of comparison to perform the lookup of the OWNERS information.

Testing

Some of this utility can be exercised locally and unit-tested for expected behavior. Ultimately Leck is very API and data dependent; therefore, in order to accomplish a reasonable assurance of functionality the data to test the decision logic is stored in tests/fixtures/ (originally generated and injected by the VCR.py lib). These requests response scenarios from the GitHub API v3 are used in conjunction with the different test scenarios to validate expected work-flow and configuration behavior.

make test # Runs lint, pep8, and unittests

# see also
make help

The Name

Bart van der Leck was a Dutch painter, designer, and ceramacist. With Theo van Doesburg and Piet Mondrian he founded the De Stijl art movement.

Metz & Co. showroom with wall hangings (left and rear walls) and carpet by Bart van der Leck, and furniture by Gerrit Rietveld

(Mondrian (Perforce), Rietveld (SVN), Gerrit (Git), Leck (GitHub))

leck's People

Contributors

christianchristensen avatar

Watchers

James Cloos avatar

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.