def post_github_status(status_url, status_json, github_auth):
    if status_url is None:
        return
    
    # Github only wants 140 chars of description.
    status_json['description'] = status_json['description'][:140]
    
    posted = post(status_url, data=json.dumps(status_json), auth=github_auth,
                  headers={'Content-Type': 'application/json'})
    
    if posted.status_code not in range(200, 299):
        raise ValueError('Failed status post to {}'.format(status_url))
    
    if posted.json()['state'] != status_json['state']:
        raise ValueError('Mismatched status post to {}'.format(status_url))
Calculate and store the l10n metrics for each locale/product.
dataset/ETHPy150Open openaddresses/machine/openaddr/ci/__init__.py/post_github_status--crossover with--dataset/ETHPy150Open mozilla/kitsune/kitsune/dashboards/cron.py/update_l10n_coverage_metrics