Skip to main content

Diff Helper for Continuous Integration (CI) Services

Project description

Diff Helper for Continuous Integration (CI) Services

coverage Documentation Status

For an open source project, running unit tests, system tests, torture tests, fuzz tests, integration tests, code quality checks, etc. can quickly become a large task.

In order to limit the amount of time and resources that these jobs require, this tool provides a way to determine which files have changed and provides a Python API for these changes. In addition, this library provides the corresponding commit SHA (or other artifact) that is used as the diffbase.

The library supports (planned)

Install

$ pip install --upgrade ci-diff-helper

See It In Action

The test-app branch is set up to run every time a change is made. Check out the latest Travis builds in test-app, the latest CircleCI builds and the latest AppVeyor builds to see the computed values at work.

For example, in a Travis PR build:

Config object: <Travis (active=True)>
----------------------------------------
    active: True
      base: 'test-app'
    branch: 'test-app'
event_type: <TravisEventType.pull_request: 'pull_request'>
     in_pr: True
  is_merge: True
 merged_pr: None
        pr: 10
      slug: 'dhermes/ci-diff-helper'
       tag: None
       ...

and in a Travis push build:

Config object: <Travis (active=True)>
----------------------------------------
    active: True
      base: u'4a02445642735ba0d3ce5b944f4b2647b4c55813'
    branch: 'test-app'
event_type: <TravisEventType.push: 'push'>
     in_pr: False
  is_merge: True
 merged_pr: 10
        pr: None
      slug: 'dhermes/ci-diff-helper'
       tag: None
       ...

A CircleCI push build:

Config object: <CircleCI (active=True)>
----------------------------------------
    active: True
    branch: 'test-app'
  is_merge: True
       tag: None
       ...

An AppVeyor push build:

Config object: <AppVeyor (active=True)>
----------------------------------------
    active: True
    branch: 'test-app'
  is_merge: True
  provider: <AppVeyorRepoProvider.github: 'github'>
       tag: None
       ...

License

Apache 2.0 - See LICENSE for more information.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
ci_diff_helper-0.2.0-py2.py3-none-any.whl (41.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Nov 16, 2016
ci-diff-helper-0.2.0.tar.gz (25.2 kB) Copy SHA256 hash SHA256 Source None Nov 16, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page