We have a customer that want to integrate Applitools and GitHub.
Applitools is a visual testing platform that, just like git, supports branches and merges.
The flow is as follows:
- The customer pushes a change of code to a GitHub branch.
- A PR notification event is fired by GitHub and caught by a CI app or service (for example - Travis)
- The CI sends a status message to GitHub, which distributes it to all listeners.
- Our GitHub App (Applitools) catches that status event, and sends a commit status of its own, based on the current test status.
- When all is done, GitHub shows a “Merge” button (for protected branches this button is locked until all statuses are “passed”).
- The user clicks the Merge button.
- GitHub merges the code and sends a PR event with status “closed” and “merged:true”.
- Our GitHub App (Applitools) tries to merge its local branches accordingly.
And my question is: What can I do if the local (Applitools) merge fails? Can I revert the GitHub merge? Is there a way to postpone the merge until another app tries to do something?
This is very important to us, so any help will be welcomed.