def get_diff_stats(repo, sha_fail, sha_pass, gh_wrapper) ->(int, int, int):
    """
    Get the diff size between two commits by using Github API
    :param repo: repo slug e.g. bugswarm/common
    :param sha_fail: Github failed commit sha
    :param sha_pass: Github passed commit sha
    :param gh_wrapper: Github_wrapper
    :return: additions, deletions, changes
    """
    url = 'https://api.github.com/repos/{}/compare/{}...{}'.format(repo,
        sha_fail, sha_pass)
    response, response_json = gh_wrapper.get(url)
    if response is None or response_json is None:
        return -1, -1, -1
    additions = 0
    deletions = 0
    changes = 0
    for f in response_json['files']:
        additions += f['additions']
        deletions += f['deletions']
        changes += f['changes']
    return additions, deletions, changes
