+pro enable validatePullRequest locally

This commit is contained in:
Konrad Malawski 2016-01-22 00:56:25 +01:00
parent 55425e5ef3
commit dd1bf6a1ee
3 changed files with 63 additions and 6 deletions

View file

@ -52,6 +52,31 @@ This is the process for committing code into master. There are of course excepti
9. Once everything is said and done, associate the ticket with the “earliest” release milestone (i.e. if back-ported so that it will be in release x.y.z, find the relevant milestone for that release) and close it.
## The `validatePullRequest` task
The Akka build includes a special task called `validatePullRequest` which investigates the changes made as well as dirty
(uncommitted changes) in your local working directory and figures out which projects are impacted by those changes,
then running tests only on those projects.
For example changing something in `akka-http-core` would cause tests to be run in all projects which depend on it
(e.g. `akka-http-core-tests`, `akka-http-marshallers-*`, `akka-docs` etc.).
To use the task simply type, and the output should include entries like shown below:
```
> validatePullRequest
[info] Diffing [HEAD] to determine changed modules in PR...
[info] Detected uncomitted changes in directories (including in dependency analysis): [akka-protobuf,project]
[info] Detected changes in directories: [akka-docs, project, akka-http-tests, akka-protobuf, akka-http-testkit, akka-http, akka-http-core, akka-stream]
```
By default changes are diffed with the `master` branch when working locally, if you want to validate against a different
target PR branch you can do so by setting the PR_TARGET_BRANCH environment variable for SBT:
```
PR_TARGET_BRANCH=origin/example sbt validatePullRequest
```
## Pull Request Requirements
For a Pull Request to be considered at all it has to meet these requirements: