[v3,0/3] Add a recheck framework to pw-ci

Message ID 20231128210155.1388785-1-aconole@redhat.com (mailing list archive)
Headers
Series Add a recheck framework to pw-ci |

Message

Aaron Conole Nov. 28, 2023, 9:01 p.m. UTC
  This allows users to send repsonse emails to patches and force
rebuilds of the workflow in github actions.

This has been tested with the following:

for recheck in $(./recheck_tool --pw-project=dpdk \
                                --pw-instance=patches.dpdk.org \
                                --filter=github-robot --state=1 | \
                                jq -rc '.rechecks[]'); do
    ./github_restart --pw-project=dpdk --pw-instance=patches.dpdk.org \
                     --series-id=$(echo "$recheck" | \
                                  jq -rc '.series_id') \
                     --repository=ovsrobot/dpdk \
                     --sha=$(echo "$recheck" | jq -rc '.sha') \
                     --github-token=XXXXXXXX
done

And succesffully rebuilt 6457922075 from series 29774 which does have
a recheck-request (we used the iol-unit-amd64-testing filter to do
the test).

To be added is a way to filter on specific workflows so we don't
restart all workflows associated with the run for those projects which
have more than one workflow.

This can be combined with a second call of the recheck tool to advance
the state.  When the series id is provided, the tool will update the
gap_sync column for the specific row and future calls to
github_monitor script will then scan the new run.

RFCv2 -> v3:

  - Added RECHECK.rst to cover the basic worfklow.  Project specific details
    are expected to be posted to the individual projects documentation.

  - Moved a function for series-db-lib.sh from 3/3 to 2/3, since it was needed
    for the recheck_tool

  - Moved some help text from 1/3 to 2/3

Aaron Conole (3):
  pw_mon: improve command line options
  recheck: Add a recheck parser for patchwork comments
  github: add a tool for restarting checks

 RECHECK.rst      |  81 ++++++++++++++++++++++++++
 github_restart   | 145 +++++++++++++++++++++++++++++++++++++++++++++++
 pw_mon           | 123 +++++++++++++++++++++++++++++++++++-----
 recheck_tool     | 100 ++++++++++++++++++++++++++++++++
 series_db_lib.sh |  80 +++++++++++++++++++++++++-
 5 files changed, 513 insertions(+), 16 deletions(-)
 create mode 100644 RECHECK.rst
 create mode 100755 github_restart
 create mode 100755 recheck_tool
  

Comments

Aaron Conole Nov. 30, 2023, 4:04 p.m. UTC | #1
Aaron Conole <aconole@redhat.com> writes:

> This allows users to send repsonse emails to patches and force
> rebuilds of the workflow in github actions.
>
> This has been tested with the following:
>
> for recheck in $(./recheck_tool --pw-project=dpdk \
>                                 --pw-instance=patches.dpdk.org \
>                                 --filter=github-robot --state=1 | \
>                                 jq -rc '.rechecks[]'); do
>     ./github_restart --pw-project=dpdk --pw-instance=patches.dpdk.org \
>                      --series-id=$(echo "$recheck" | \
>                                   jq -rc '.series_id') \
>                      --repository=ovsrobot/dpdk \
>                      --sha=$(echo "$recheck" | jq -rc '.sha') \
>                      --github-token=XXXXXXXX
> done
>
> And succesffully rebuilt 6457922075 from series 29774 which does have
> a recheck-request (we used the iol-unit-amd64-testing filter to do
> the test).
>
> To be added is a way to filter on specific workflows so we don't
> restart all workflows associated with the run for those projects which
> have more than one workflow.
>
> This can be combined with a second call of the recheck tool to advance
> the state.  When the series id is provided, the tool will update the
> gap_sync column for the specific row and future calls to
> github_monitor script will then scan the new run.
>
> RFCv2 -> v3:
>
>   - Added RECHECK.rst to cover the basic worfklow.  Project specific details
>     are expected to be posted to the individual projects documentation.
>
>   - Moved a function for series-db-lib.sh from 3/3 to 2/3, since it was needed
>     for the recheck_tool
>
>   - Moved some help text from 1/3 to 2/3
>
> Aaron Conole (3):
>   pw_mon: improve command line options
>   recheck: Add a recheck parser for patchwork comments
>   github: add a tool for restarting checks
>
>  RECHECK.rst      |  81 ++++++++++++++++++++++++++
>  github_restart   | 145 +++++++++++++++++++++++++++++++++++++++++++++++
>  pw_mon           | 123 +++++++++++++++++++++++++++++++++++-----
>  recheck_tool     | 100 ++++++++++++++++++++++++++++++++
>  series_db_lib.sh |  80 +++++++++++++++++++++++++-
>  5 files changed, 513 insertions(+), 16 deletions(-)
>  create mode 100644 RECHECK.rst
>  create mode 100755 github_restart
>  create mode 100755 recheck_tool

I applied this series.  Thanks all!