Skip to content

gooseproject/grapple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grapple README

Overview

Grapple is a tool to respond to Github post-receive hooks
and then kick off a package build in Koji. The main portion of

the tool is a webservice that responds to POST requests from github, a query about builds that need to be submitted, and an action to update the status of a given build. A unique build is a given commit on a given branch.

Requirements

General: Python >= 2.5 web.py

For database setup: sqlite3

For testing: curl

Quick setup for testing

  • This process will be moved to a Makefile soon
  • Download test data
    • edit tests/grab_test_data.py and fill in the POSTBIN url for the sample requests
    • cd tests && python grab_test_data.py
  • create the sqlite database
    • [ -f grappledb ] && rm grappledb ; sqlite grappledb < schema.sql
  • start the server
    • python grapple.py
  • Try adding commits
  • Query for commits
  • Change the state to successfully submitted on a few
  • Query for commits

License

Grapple is licensed under the GPLv2, and is part of the tools for the Goose Linux Project.

Upcoming tasks and plans

In no particular order or guarantee, here are possible improvements and refinements to Grapple:

  • Create Makefile to automate testing and setup
  • Have index return an API summary.
  • Review for needed error handling
  • Add logging
  • Make a decorator to limit a url from being called from just whitelists
  • Become more PEP8 compliant
  • Add license and copyright header in source
  • Move status definition to DB?
  • For methods not returning data, what's the proper output?
  • Verify the build has not already been seen before adding
  • Create init scripts
  • Create RPMs
  • Create a versioning scheme

About

Tool to process github-hooks and build rpms from said repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages