Upload your builds from CI

Adding a new app to Angle only takes three simple steps:

  1. Authorizing Github (only the first time) so you can access your repositories.
  2. Selecting the repository where your app lives.
  3. Setting up your continuous integration pipeline.

Since CI builds usually build the app, the CI builds is the most reasonable place to upload the builds to Angle.

Information - Local uploads

In the future we might add support for uploading builds from a local environment and share them with anyone in your team.

Uploading your builds

To upload your builds, you just need to add an extra step to your pipeline passing some variables:

bash <(curl -Ls https://upload.angle.dev)
Copy the content

The upload can be configured through the environment variables that can be set in the pipeline, or by prefixing the above command:

ANGLE_APP_NAME=MyApp.app bash <(curl -Ls https://upload.angle.dev)
Copy the content

The following table contains a list of variables that the upload script accepts.

VariableDescriptionExample
ANGLE_APP_NAME
The name of the application with `.app` extension. Angle looks up the app in the derived data directory

The name of the application with .app extension. Angle looks up the app in the derived data directory

MyApp.app
ANGLE_APP_PATH
Alternatively, in those cases where the app is exported in a non-standard directory, the path to the app can be specified.

Alternatively, in those cases where the app is exported in a non-standard directory, the path to the app can be specified.

output/MyApp.app
ANGLE_PROJECT_TOKEN
The token of the project for which the builds are being uploaded.

The token of the project for which the builds are being uploaded.

13525qwfafasctwtw

For security reasons, we recommend defining ANGLE_PROJECT_TOKEN as a secret variable, which most CI platforms have support for. Keeping the token as a secret variable prevents someone else from uploading builds to your project.

Warning - Failing builds

Keep in mind that if the build of the app fails, the execution will exit unsuccessfully and as a consequence the app won't get uploaded.

Information - Compatibility

The script runs on both, Linux and macOS environments.

The following sections contain examples of how to configure the run script step in the most common CI platforms.

Example: Bitrise

inputs:
- content: |-
#!/usr/bin/env bash
set -ex
ANGLE_APP_NAME=MyApp.app bash <(curl -Ls https://upload.angle.dev)
Copy the content

Example: GitHub CI

- name: Upload app to Angle
run: bash <(curl -Ls https://upload.angle.dev)
env:
ANGLE_APP_NAME: MyApp.app
ANGLE_PROJECT_TOKEN: ${{ secrets.ANGLE_PROJECT_TOKEN }}
Copy the content

Example: CircleCI

- run:
name: Upload app to Angle
command: bash <(curl -Ls https://upload.angle.dev)
environment:
ANGLE_APP_NAME: MyApp.app
Copy the content

Example: Jenkins

steps:
upload_app_to_ange:
- bash <(curl -Ls https://upload.angle.dev)
environment:
ANGLE_APP_NAME: MyApp.app
Copy the content

Example: Travis

env:
- ANGLE_APP_NAME=MyApp.app
script:
- bash <(curl -Ls https://upload.angle.dev)
Copy the content