HomePhabricator

Add arcanist land bot workflow

Description

Add arcanist land bot workflow

Summary:
This patch adds an arcanist workflow (called with arc land-via-bot) that enables
us to land revisions through a land bot. This gives us the benefit of smoke testing and
other sanity checks immediately prior to landing changes on master and ensures these sanity
checks are run the same regardless of development environment or post-review modifications
to diffs.

Note that this patch only adds the new workflow and does not yet accomplish the following:

  • Override arc land with this behavior.
  • Actually land the revision. The land bot is currently running in --dry-run mode. You may push revisions to the land bot to test it out and see the build and smoke test progress.

The land-via-bot workflow takes recycles some of the sanity checks done by arc land to reduce
complexity and code ownership. This introduces a funny call to arc land directly, but is otherwise harmless.

The unique part of land-via-bot is the queuing call which is a simply cURL request to the land bot service.
The request includes the revision ID and your encrypted Conduit token so the land bot can land changes as you.

Test Plan:
Help text:

arc help                      # shows land-via-bot
arc help land-via-bot         # shows new help text

Prep a revision for testing:

arc patch D5900
git rebase --onto master arcpatch-D5900
git cherry-pick <this-patch>
git rebase -i HEAD~2          # squash

Test land-via-bot:

arc land-via-bot --preview
arc land-via-bot --hold

git checkout arcpatch-D5900
arc land-via-bot              # Observe the build log link provided

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D6264

Details

Provenance
jasonbcoxAuthored on May 26 2020, 17:05
jasonbcoxPushed on Jun 3 2020, 22:30
Reviewer
Restricted Project
Differential Revision
D6264: Add arcanist land bot workflow
Parents
rABCc9df2beb473f: [CMAKE] Fix a -Wpointer-to-int-cast when searching Jemalloc
Branches
Unknown
Tags
Unknown