Giter Site home page Giter Site logo

pcci's Introduction

pcci - puppet community continuous integration

An experiment in public beaker testing

requirements:

  • github bot account
  • redis-server running
  • beefy machine to run tests

A experimental instance is running at https://ci.voxpupuli.org

application deployment:

right now this is super janky.

follow_pull_requests.py is run by 5 minute cron

4 run_worker.sh run (sent to background in shell)

one comment.py is run in the foreground in a tmux

improvement needed!

pcci's People

Contributors

nibalizer avatar bastelfreak avatar daenney avatar whopper avatar elyscape avatar roidelapluie avatar bkero avatar igalic avatar cmurphy avatar davids avatar rnelson0 avatar liamjbennett avatar

Stargazers

Jonathan Barratt avatar Ben Hocker avatar  avatar

Watchers

Reid Vandewiele avatar William Van Hevelingen avatar  avatar Jan Ivar Beddari avatar James Cloos avatar Hailee Kenney avatar Vox Pupuli bot avatar  avatar

pcci's Issues

Write upstart/init scripts

Right now most of the daemons run in tmux. Can we move them to init scripts managed by service provider

"Details" link in PR leads to garbled URL

el6 support

@nibalizer is working with others to bring el6 support.

I created this issue to track the status of that feature.

Set 'test in progress' state on CI when a test is began

When PCCI picks up changes to a pr (when the todo list is appended to, this probably happens in follow_pull_requests.py), pcci should vote with the yellow 'test in progress' ball on github. Then when the test is run, comment.py can change the vote to green.

The github api isn't complicated. Simply set yellow, then set green/red.

Votes only once for multiple tests

Right now it will run a test on centos then on ubuntu, both will attempt to set the green ball in github. Either pcci needs to store tests and vote with one green ball, or send multiple green balls to github.

Exceptions in follow_pull_requests

voxpupuli/puppet-corosync/132
05b5f702225df6c8878b78997d6bba0ee46fc352
05b5f702225df6c8878b78997d6bba0ee46fc352
Traceback (most recent call last):
  File "pcci/follow_pull_requests.py", line 33, in <module>
    for pull in pulls:
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/PaginatedList.py", line 48, in __iter__
    newElements = self._grow()
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/PaginatedList.py", line 60, in _grow
    newElements = self._fetchNextPage()
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/PaginatedList.py", line 181, in _fetchNextPage
    for element in data if element is not None
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/GithubObject.py", line 217, in __init__
    GithubObject.__init__(self, requester, headers, attributes, completed)
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/GithubObject.py", line 74, in __init__
    self._storeAndUseAttributes(headers, attributes)
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/GithubObject.py", line 86, in _storeAndUseAttributes
    self._useAttributes(attributes)
  File "/home/pcci/latest_pygithub/local/lib/python2.7/site-packages/github/PullRequest.py", line 616, in _useAttributes
    self._url = self._makeStringAttribute(attributes["url"])
TypeError: string indices must be integers

Move all configuration to yaml

Right now config.py is a python script with values in it. Use yaml to configure.

There is an exmaple of this in pcciweb.py

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.