CI Diff Helper
Diff Helper for Continuous Integration (CI) Services
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)
- Continuous Integration Services
- Verson Control Systems
- Project Hosting Sites
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 ...
Config object: <CircleCI (active=True)> ---------------------------------------- active: True branch: 'test-app' is_merge: True tag: None ...
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.