VibeFast
Backend & Deployment

Building & Deploying

Learn how to create builds for internal testing and production using EAS and GitHub Actions.

VibeFast is configured for seamless builds and deployments using Expo Application Services (EAS). The configuration for this is located in the eas.json file at the root of the project.

Build Profiles

The eas.json file defines several build profiles for different environments:

  • local: Creates a development client build for connecting to your local machine during development.
  • staging: Creates a build (.apk for Android, .ipa for iOS) for internal testing. This build points to your staging environment variables.
  • production: Creates a build ready for submission to the app stores. This build points to your production environment variables.

How-To: Create a Build for Internal Testing

When you want to share a version of the app with your team for testing, you should create a staging build.

1. Log in to your Expo account

If you haven't already, log in to your Expo account using the EAS CLI.

eas login

2. Run the Staging Build Command

Use the following command to start a new build for Android or iOS. The --profile staging flag tells EAS to use the "staging" configuration from your eas.json file.

For Android:

eas build --platform android --profile staging

For iOS:

eas build --platform ios --profile staging

3. Share the Build

Once the build is complete, EAS will provide a link to the build artifact. You can share this link with your team to install the app on their devices.

Automated Builds with GitHub Actions

VibeFast comes with pre-configured GitHub Actions workflows to automate the build process, which you can find in the .github/workflows/ directory.

EAS Build on Release

The .github/workflows/eas-build-qa.yml workflow is configured to automatically trigger a new staging build on EAS every time you publish a new release on GitHub. This is a great way to automate your internal testing pipeline.

Submitting to the App Stores

To submit your app to the Apple App Store or Google Play Store, you will create a production build.

  1. Create the build:
    eas build --platform all --profile production
  2. Submit the build: Once the build is complete, you can use the EAS Submit command to upload it to the respective stores.
    eas submit --platform ios --latest
    eas submit --platform android --latest

This streamlined process makes it easy to manage builds for different environments and automate your deployment pipeline.