Status Checks

Status checks are supported for integrations using the Emerge GitHub app.

Setup

Checks are used to report the size change and performance test results of each pull request. They require the SHA of your branch build to match the SHA of the latest commit on your pull request.

🚧

If you're not seeing a check

Verify the commit SHAs match, sometimes CI will build with a merge commit instead of the latest commit to your PR branch.

States

Checks can be in one of 5 possible states:

  • Processing
  • Errored
  • Timed Out
  • Successful
  • Action Required

A build enters processing as soon as it finishes uploading, and will timeout if it's been in processing for more than 10 minutes.

1740

Successful Emerge status check

A successful size analysis status check will show the total size, absolute size change and relative size change for a PR. The details of the check will show you the full breakdown of the diff as well as a treemap overview of what changed in your PR.

A successful performance analysis status check will show the relative performance between the head commit of your PR and the base commit. This information includes the percent change and its confidence interval.

Action Required

You can enforce additional review before merging large PRs by setting specific thresholds for each app. Thresholds can be based on relative size difference, absolute size difference, or absolute bundle size. This ensures that size regressions are thoroughly examined by your team, keeping the app within the defined limits.

For iOS metrics are compared in Install Size. For Android, metrics use download size. You can read more about these metrics here

  • Relative Size Difference: This threshold is based on the percentage change in app size from head vs. base builds. If the relative size increase surpasses the predefined threshold, the PR is flagged for further review.
  • Absolute Size Difference: This threshold is based on the exact amount of size difference in bytes between the current version and the previous version of the app. If the absolute size increase surpasses the predefined limit, the PR is flagged for additional review.
  • Total Size: This threshold focuses on the overall size of the app, regardless of the difference from the previous version. If the total size of the app crosses the predetermined limit, the PR is flagged for extra review.

When the percentage size change of a PR is above this threshold the status check will require developers to press an "Accept" button before the check turns green.

Errors

Errors indicate that there was an issue performing analysis of your build. Errors can usually be resolved by inspecting the details of the error message. Here are some common errors and how to resolve them:

Missing base build

This will happen if the base SHA of your PR doesn't have a corresponding upload. The base SHA Emerge looked for will be included in the status check details. As a first step, verify this matches the base branch of your PR, then make sure your base builds are uploading.

Emerge, by default provides a 10 minute window for base builds to arrive late. If your base build is uploaded after your head build, then you may see this error temporarily, but it will be resolved as long as the base build is uploaded within 10 minutes of the head.

No artifact found

If we couldn't find a build artifact in your upload this most likely means the uploading structure is wrong. Double check the right file was uploaded, and not a sub folder or parent folder of your build artifact. A full list of Emerge supported artifacts can be found here.