Support running tools manually

Review Request #10316 — Created Nov. 8, 2018 and updated

alextechcc
ReviewBot
master
10311
0f7a3d9...
reviewbot, students

Support running tools attached to status updates manually, along with
retrying status updates in an error state.

Adds a new signal hook for the manual run feature that will update
previous status updates that have not been run yet or need a rerun.

Manual testing has been done (waiting on testing framework). By adding
multiple integrations for different types of bots, running some
manually, and retrying some.

  • 0
  • 0
  • 11
  • 1
  • 12
Description From Last Updated
brennie
  1. 
      
  2. extension/reviewbotext/forms.py (Diff revision 1)
     
     

    This needs a a help_text= kwarg to describe what exactly this means.

    Maybe we should call this manually_run_only and change the label to "Only run this tool manually" or similar?

  3. extension/reviewbotext/integration.py (Diff revision 1)
     
     

    This should go at the top of the function and there should be a blank line after.

  4. 
      
alextechcc
Review request changed

Commit:

-11e5205ffbcb711b0e4669b988dfbec3d434fc9e
+b167436389cf745d4b5f7de5a796461bda7cbd21

Diff:

Revision 2 (+137 -11)

Show changes

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

alextechcc
Review request changed

Change Summary:

Update timestamp when running/rerunning tool

Commit:

-b167436389cf745d4b5f7de5a796461bda7cbd21
+a75bcfd93b5ccb2480bc371f95b5fb1284063a01

Diff:

Revision 3 (+139 -11)

Show changes

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

alextechcc
brennie
  1. 
      
  2. Can you rewrite your summary in the imperitive mood, i.e. as a command? If you substitute your summary into the following template, it should be a correct sentence.

    This patch will <summary>
    

    e.g. "Support running tools manually"

  3. extension/reviewbotext/integration.py (Diff revision 4)
     
     

    Can we call this _get_maching_configs ? We call them configurations in the docstring.

  4. extension/reviewbotext/integration.py (Diff revision 4)
     
     
     
     
     
     
     

    Format as:

    Yields:
        tuple:
        A 3-tuple of the following:
    
        * The tool model to use (:py:class:`reviewbotext.models.Tool`).
        * The tool options (:py:class:`dict`).
        * The review settings (:py:class:`dict`).
    

    Could you also elaborate on what review_settings actually is in that?

  5. extension/reviewbotext/integration.py (Diff revision 4)
     
     
     

    Can you format as:

    for tool, tool_options, review_settings in self._get_matching_setups(
        review_request):
        # ...
    

    You can also pull out the function call into a var and iterate over that, e.g.

    setups = self._get_matching_setups(review_request)
    
    for a, b, c in setups:
        # ...
    
  6. extension/reviewbotext/integration.py (Diff revision 4)
     
     

    No blank line.

  7. extension/reviewbotext/integration.py (Diff revision 4)
     
     
     

    Same comment as above.

  8. 
      
alextechcc
david
  1. 
      
  2. extension/reviewbotext/forms.py (Diff revision 5)
     
     

    Let's put this at the end of the tuple. I expect it to be used less often than the other options.

  3. 
      
alextechcc
alextechcc
Review request changed

Change Summary:

Reordered tool options in form

Commit:

-268ebe6c0fcd791a99bec563048b53d726bb7749
+0f7a3d936a3cf162b5151002ac51003eed451ca0

Diff:

Revision 6 (+165 -47)

Show changes

Checks run (2 succeeded)

flake8 passed.
JSHint passed.
gojeffcho
  1. 
      
  2. Looks good to me and reads well.

  3. 
      
Loading...