• 
      

    Add manual trigger run and retry for TravisCI integration.

    Review Request #11266 — Created Nov. 5, 2020 and submitted — Latest diff uploaded

    Information

    rbintegrations
    master

    Reviewers

    Add manual trigger to TravisCI.

    This change adds the ability for Integrations to run TravisCI manually.
    A checkbox is added to the TravisCI form that indicates if TravisCI should
    only run manually.

    This change also fixes the Jenkins build failing for git repositories with less
    than 50 commits since git fetch --unshallow origin fails.

    There was a bug where no TravisCI builds can be made on personal private GitHub
    repositories because the GitHub username was being extracted from the wrong place.

    Based on work by David Trowbridge: /r/11130

    Manually tested on Review Board 3. TravisCI (travis-ci.com) was set up and
    connected to a private GitHub repository and Review Board 3. A TravisCI build
    was not run when the manually run checkbox is unchecked and is run when the
    field is checked. Clicking on the 'Run' button runs the TravisCI build.

    Verified the disabled/enabled run manually field by testing on Review Board
    3.0.18, 3.0.19 and 4.0.x.

    Verified retry functionality when state is in ERROR and TIMEOUT states.

    Unit tests to verify that a build is not run when the run manually
    configuration is checked and to verify that a build is run when the signal is
    emitted.

    Unit tests were also created to verify that the username is being pulled
    from the correct place for the 4 different GitHub repository plans.
    These were ran on Review Board 3.0 and Review Board 4.0 and their
    supported versions of Python.

    Commits

    Files