Skip to main content

Greenwave is a service to decide whether a software artifact can pass certain gating points in a software delivery pipeline

Project description

# Greenwave

![logo of Greenwave](https://pagure.io/greenwave/raw/master/f/logo.png)

## What is Greenwave

Greenwave is a service to decide whether a software artifact can pass certain gating points in a software delivery pipeline, based on test results stored in [ResultsDB](https://pagure.io/taskotron/resultsdb) and waivers stored in [WaiverDB](https://pagure.io/waiverdb).

## Quick development setup

Set up a python virtualenv:

$ sudo dnf install python-virtualenv $ virtualenv env_greenwave $ source env_greenwave/bin/activate $ pip install -r requirements.txt $ pip install -r dev-requirements.txt

Install the project:

$ python setup.py develop

Run the server:

$ DEV=true python run-dev-server.py

The server is now running at <http://localhost:5005> and API calls can be sent to <http://localhost:5005/api/v1.0>.

## Adjusting configuration

You can configure this app by copying conf/settings.py.example into conf/setting.py and adjusting values as you see fit. It overrides default values in greenwave/config.py.

## Running test suite

You can run the unit tests, which live in the greenwave.tests package, with the following command:

$ TEST=true py.test greenwave/tests/

To test against all supported versions of Python, you can use tox:

$ sudo dnf install python3-tox
$ tox

There are also functional tests in the functional-tests directory. The functional tests will start their own copy of the [ResultsDB](https://pagure.io/taskotron/resultsdb), [WaiverDB](https://pagure.io/waiverdb), and Greenwave applications and then send HTTP requests to them. If you have a git checkout of all three projects, you can run the functional tests like this (adjust the paths as appropriate):

$ TEST=true PYTHONPATH=../resultsdb:../waiverdb:. py.test functional-tests/

## Building the docs

You can view the docs locally with:

$ cd docs
$ make html
$ firefox _build/html/index.html

## Copyright and license

This project is copyright Red Hat and other contributors, licensed under the terms of the GNU General Public License version 2 or later. See the COPYING file for the complete text of the license. Refer to the git history for complete authorship details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

greenwave-0.6.1.tar.gz (113.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page