mapbox/ecs-conex

Issues with --force and squashed merge

Closed this issue · 0 comments

It appears that push events related to rewriting the git tree can cause conex to fail on this line. The current behavior is to delete the event from the queue and send a failure notification.

Is this the right approach? I'd like to catch one of these push payloads and understand why they refer to commits that are no longer part of the tree.


When performing a "Squash and Merge" from a PR on Github, conex receives two push payloads. One works, the other doesn't. For example:

[Tue, 17 May 2016 00:13:28 GMT] [ecs-conex] [ecd7dcfa-c378-411a-83e1-01c547b4f14a] processing commit 0000000000000000000000000000000000000000 by rclark to refs/heads/twice of mapbox/ecs-watchbot
[Tue, 17 May 2016 00:13:28 GMT] [ecs-conex] [ecd7dcfa-c378-411a-83e1-01c547b4f14a] Cloning into '/mnt/data/xj4q70'...
[Tue, 17 May 2016 00:13:29 GMT] [ecs-conex] [ecd7dcfa-c378-411a-83e1-01c547b4f14a] fatal: reference is not a tree: 0000000000000000000000000000000000000000

We should be able to silently ignore payloads with this .after sha of all zeros. I've also noticed that the payload has .head_commit: null and .commits: [].