e2e-tests: Pick then squash commits from stable-3.1

Back-port the whole e2e tests framework [1,2,3] downstream this way.

[1] new file: ./Documentation/dev-e2e-tests.txt
[2] modified: ./Documentation/dev-readme.txt
[3] new directory: ./e2e-tests

This is an orthogonal change, beside [2] which needed a few yet trivial
conflict resolutions. Below is the included git commits log, from the
interactive rebase todo list used:

* stable-3.1:
  f52c1ad01d e2e-tests: Document how to handle eviction warning
  4b5cddb5fe e2e-tests: Enable postfix operators with compiler
  4702984026 e2e-tests: Update Dockerfile gatling_git_version to 1.0.10
  ea5e616c8d e2e-tests: Align gatling version with gatling-git
  189030f3d5 e2e-tests: Introduce reused gatling version constant
  32e5b7887f e2e-tests: Rename the now reused json filename constant
  11e9026203 e2e-tests: Refactor documentation about functional
  15e1fd634a e2e-tests: Move core json files into scala package
  048dd3dd65 e2e-tests: Support adding/running non-core scenarios
  a8b7b7cff6 e2e-tests: Add create/delete project to CloneUsingBothProtocols
  4217eaff29 e2e-tests: Collapse the load-tests directory level
  f230d8c036 e2e-tests: Mention http credentials in documentation
  3cf119b25f e2e-tests: Make scenarios extend new GitSimulation
  1fd49ed118 e2e-tests: Mention the blog post in documentation
  5379c64da2 CloneUsingBothProtocols: Align closing parenthesis
  27e8680900 ReplayRecordsFromFeeder: Refactor the after method
  de76095532 ReplayRecordsFromFeeder: Align scenario building
  67955ae29e ReplayRecordsFromFeeder: Extract request to value
  cdd104937b ReplayRecordsFromFeeder: Un-hardcode json filename
  5cccbf9926 ReplayRecordsFromFeeder: Group implicit val at top
  b9d1f5af7c ReplayRecordsFromFeeder: Fix braces/parentheses warnings
  42536a4515 ReplayRecordsFromFeeder: Add type to public member
  ece535a703 e2e-tests: Rename ReplayRecordsFromFeeder scenario
  41db8e5397 e2e-tests: Reformat ReplayRecordsFromFeeder.scala
  e3612e35f0 e2e-tests: Upgrade sbt to 1.3.7
  c122b41ad4 e2e-tests: Introduce example to test local setups
  9fa0d98bac e2e-tests: Foster IntelliJ for Scala and build.sbt
  70a4f4dc54 e2e-tests: Sort and update some .gitignore entries
  d06498a489 e2e-tests: Expand ssh key generation documentation
  946d74eda4 e2e-tests: Document example test project existence
  4d3f2143a9 e2e-tests: Remove the note after sbt website fixed
  eca5aaab23 e2e-tests: Add support for log level configuration
  e4fae5e270 e2e-tests: Fix the documentation Table of Contents
  db44d3637d Documentation: Add e2e tests link from dev-readme
  44f259d016 e2e-tests: Move docker doc to Documentation page
  b810f6391d e2e-tests: Tell how to remove sbt credentials warning
  b867ba94d0 Dockerise Gatling tests
  b29a293963 Documentation: Fix dev-e2e-tests link text styling
  6c3e4691a8 Documentation: Fix dev-e2e-tests line length to <100
  cb7f03e79e Documentation: Fix e2e tests Input section's nits
  72f40513d1 Documentation: Fix e2e tests Setup link and typos
  1f9465bd4a Documentation: Un-hardcode the Scala version used
  386aebbe51 E2E load tests example scenarios

Change-Id: I66627d79aa46d593c348bbcb57bd30d8b41a91d4
24 files changed
tree: f2de3ce4301c20fed6e6c8ba5541c2d4768f2fc2
  1. .bazelignore
  2. .bazelproject
  3. .bazelrc
  4. .bazelversion
  5. .editorconfig
  6. .git-blame-ignore-revs
  7. .gitignore
  8. .gitmodules
  9. .gitreview
  10. .mailmap
  11. .pydevproject
  12. .settings/
  13. .zuul.yaml
  14. BUILD
  16. Documentation/
  18. Jenkinsfile
  19. README.md
  22. antlr3/
  23. contrib/
  24. e2e-tests/
  25. gerrit-gwtdebug/
  26. gerrit-gwtui-common/
  27. gerrit-gwtui/
  28. gerrit-plugin-gwtui/
  29. java/
  30. javatests/
  31. lib/
  32. package.json
  33. plugins/
  34. polygerrit-ui/
  35. prolog/
  36. prologtests/
  37. proto/
  38. resources/
  39. tools/
  40. version.bzl
  41. webapp/

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status


Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.

Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.


For information about how to install and use Gerrit, refer to the documentation.


Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.

Reporting bugs

Please report bugs on the issue tracker.


Gerrit is the work of hundreds of contributors. We appreciate your help!

Please read the contribution guidelines.

Note that we do not accept Pull Requests via the Github mirror.

Getting in contact

The Developer Mailing list is repo-discuss on Google Groups.


Gerrit is provided under the Apache License 2.0.


Install Bazel and run the following:

    git clone --recurse-submodules https://gerrit.googlesource.com/gerrit
    cd gerrit && bazel build release

Install binary packages (Deb/Rpm)

The instruction how to configure GerritForge/BinTray repositories is here

On Debian/Ubuntu run:

    apt-get update & apt-get install gerrit=<version>-<release>

NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.

On CentOS/RedHat run:

    yum clean all && yum install gerrit-<version>[-<release>]

On Fedora run:

    dnf clean all && dnf install gerrit-<version>[-<release>]

Use pre-built Gerrit images on Docker

Docker images of Gerrit are available on DockerHub

To run a CentOS 7 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]

To run a Ubuntu 15.04 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.