Uploading Basics

Emerge receives builds created by your CI pipeline, along with additional metadata about where the build was generated. There are two kinds of uploads that are required: base builds and branch builds.

Upload from CI

Configuring automatic uploads from CI requires 2 steps, commonly done in two separate pull requests:

  1. A first PR to configure uploading a base build (usually the default branch, i.e. main or master). This will upload a base build upon merging this first PR, which the second will use as the base to create a diff from!
  2. A second PR to configure uploading branch builds. Uploading branch builds is most commonly done from CI that is run on each pull request. This will create a diff against your base branch upload we set up in step 1.

Base Builds

These are builds of your base branch, which will usually be the default branch, i.e. main or master. For the integration to work, a build needs to be built from every commit pushed to the base branch. These fields are supported:

Field

Required?

filename

Yes

branch

Yes (Should always be the name of your base branch)

sha

Yes

repoName

Yes

buildType

No (defaults to "release" if not provided)

Branch Builds

These are builds originating from an open pull request. Once base builds are being sent to Emerge, you can add branch build uploads to get your first PR comment. These fields are supported:

Field

Required?

filename

Yes

branch

Yes

sha

Yes

baseSha

Yes

repoName

Yes

prNumber

Yes

buildType

No (defaults to "release" if not provided)

🚧

Base SHA

A base SHA must be included with branch builds, this ensures the correct build is used when generating your comparison.

Supported Artifacts

Emerge supports the following artifacts uploaded for size analysis.

Name

Extension

Platform

Zipped XCArchive

.zip (Zipped .xcarchive)

iOS

Zipped XCFramework

.zip (Zipped .xcframework)

iOS

Android App bundle

.aab

Android

APK

.apk

Android

Zipped APK(s) with proguard mappings

.zip (Zipped .apk(s) with a proguard.txt, mapping.txt or proguard.pro mapping file included).

Note: We require one apk (the primary apk if uploading multiple apks) to be named base.apk.

Android

Note: Fastlane will Zip artifacts by default if uploading through the Emerge Fastlane plugin.