Page MenuHomePhabricator

[land-bot] Ensure changes to the land bot script do not modify its execution in-flight
ClosedPublic

Authored by jasonbcox on May 8 2020, 23:48.

Details

Summary

I encountered this issue while testing locally. Even normal errors can turn
into very bizarre behavior that are impossible to comprehend when this is triggered.

There is an alternative approach where a wrapper script copies land-patch.sh and runs the copy,
but this approach is nearly as easy to maintain and does not require that developers know that
running land-patch.sh directly can cause debugging nightmares.

Test Plan

It's a bit hard to trigger this consistently, but for sanity:

CONDUIT_TOKEN=<token> ./land-patch --dry-run -r Dxxxx

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
deadalnix added a subscriber: deadalnix.

I have no problem with this per se now that it is done, but you got to wonder how that became a problem worth fixing in the first place. Why not run these scripts from master to begin with instead of using the version of the patch?

This revision is now accepted and ready to land.May 11 2020, 13:53

I have no problem with this per se now that it is done, but you got to wonder how that became a problem worth fixing in the first place. Why not run these scripts from master to begin with instead of using the version of the patch?

The script is being run from master. The issue becomes when autopatch modifies land-patch, we expect land-patch behavior to *not* change. On the flip side, if smoke-tests are updated, we *do* expect that behavior to change.