Configuration Reference

Complete reference for all workflow configuration options

This section serves as a reference for the configuration options available in the web interface. Unlike the step-by-step guide in Getting Started, this page provides a comprehensive overview of all available settings and their impact on your generated workflows.

Each section below corresponds to a specific area in the web app configuration form, making it easy to find the options you need when building your workflow.

Configuring in the Web App

The web app provides an intuitive form interface for all options, with:

  • Tooltips explaining each option
  • Live YAML preview as you make changes
  • Automatic detection of required secrets
  • Validation to prevent configuration errors

Essential settings you'll need for most workflows

Workflow Type

Choose between Static Analysis and Build workflows

Location: First dropdown in the web app

Workflow Name

Custom name for your workflow

Default: "React Native Static Analysis" or "React Native Build"

Trigger Events

When the workflow should run (push, pull request, etc.)

Location: Triggers section in the form

Target Branches

Which branches should trigger the workflow

Default: main branch

Basic Workflow Options

Common configuration options available for all workflow types in the web app

How to Configure in the Web App

1

Workflow Type Selection

Start by selecting either "Static Analysis" or "Build" from the dropdown menu at the top of the form. This determines which workflow template will be used.

2

Basic Configuration

Enter a custom workflow name or use the default. Then configure Node.js version(s) and package manager.

3

Configure Triggers

In the "Triggers" section, select when the workflow should run (on push, pull request, etc.) and specify which branches should activate it.

4

Workflow-Specific Options

Depending on your workflow type, configure additional options like build platform or code quality checks.

General Options

OptionDescriptionDefault
Workflow NameCustom name for your workflowReact Native [Type]
Node.js Version(s)Which Node.js version(s) to use18
Package ManagerWhich package manager to useyarn
RunnerGitHub Actions runner to useubuntu-latest

Package Manager Tips

  • Select the same package manager you use for local development
  • The workflow will automatically detect and use lockfiles
  • For Yarn, the workflow will use Yarn Berry if available

Environment & Secrets

OptionDescription
Environment VariablesAdd custom env vars as key-value pairs
SecretsAdd secret references required by your workflow
Cache ConfigurationControl caching for faster workflow runs

Working with Secrets

The web app will automatically detect required secrets based on your configuration (e.g., for signing Android builds or using Firebase). For details, see:

Secrets Management Guide

Configuration Options Overview

The web app provides a comprehensive set of options for customizing your workflow. These options are organized into logical sections in the interface for easy navigation and configuration.

Basic Settings

  • Workflow name
  • Node.js version
  • Package manager selection
  • Runner environment

Triggers & Events

  • Push events
  • Pull request events
  • Branch filtering
  • Path filtering

Environment & Secrets

  • Environment variables
  • Repository secrets
  • Dependency caching

Workflow-Specific Options

  • Build platform selection
  • Build variants
  • Storage providers
  • Notification methods

Workflow Configuration Sections

Understanding the main configuration areas in the web app interface

How to Configure Triggers in the Web App

In the "Triggers" section of the form, you can configure:

Trigger Events

Select which GitHub events trigger your workflow:

  • push: Run on commits to specified branches
  • pull_request: Run when PRs are opened or updated
  • workflow_dispatch: Allow manual runs from GitHub UI
  • schedule: Run on a time-based schedule

Branch Filtering

Control which branches trigger the workflow:

Example patterns:

  • main: Only the main branch
  • develop: Only the develop branch
  • release/*: Any branch starting with "release/"
  • feature/**: All branches in the feature directory

Common Trigger Configurations

PR Validation

Run workflow on all pull requests to main branch

"triggers": {
  "events": ["pull_request"],
  "branches": ["main"]
}

Continuous Integration

Run on commits to main and develop branches

"triggers": {
  "events": ["push"],
  "branches": ["main", "develop"]
}

Release Build

Run on tags matching release pattern

"triggers": {
  "events": ["push"],
  "tags": ["v*.*.*"]
}

Advanced Trigger Features

Path Triggers

Run workflow only when specific files change. This helps optimize CI/CD resources by only running relevant workflows.

Example: Android-only changes
"triggers": {
  "events": ["push", "pull_request"],
  "branches": ["main"],
  "paths": ["android/**", "src/**"]
}

Scheduled Builds

Run workflows on a schedule using cron syntax. Useful for nightly builds or periodic checks.

Example: Nightly build at 2 AM UTC
"triggers": {
  "events": ["schedule"],
  "cron": "0 2 * * *"
}

Build Configuration

Options for configuring React Native build workflows

Platform Configuration

Android Build Options

Build Variant

debug
release

Output Format

APK
AAB
Both

Release builds require signing configuration with keystore credentials.View setup guide

iOS Build Options

Build Variant

debug
release

Output Format

IPA

iOS builds require certificate and provisioning profile configuration.View setup guide

Distribution Configuration

Storage Options

Choose where to store build artifacts:

GitHub Artifacts
Firebase App Distribution
Google Drive
Amazon S3

Each storage option has different configuration requirements.Storage option details

Notification Methods

Choose how to notify about completed builds:

PR Comment
Slack
Microsoft Teams
Email

Some notification methods require webhook URLs configured as secrets.

Additional Options

Include Static Analysis

Run code quality checks (TypeScript, ESLint, tests) before building. This ensures you don't build on broken code. Toggle this option on or off in the web app interface.

Custom Build Commands

Add custom pre-build and post-build commands to run before or after the main build process. This is useful for additional setup or processing of build artifacts.

Static Analysis Configuration

Options for configuring code quality checks for your React Native project

Available Quality Checks

TypeScript

Type checking to catch type errors

ESLint

Linting for code quality

Prettier

Code formatting validation

Jest Tests

Unit and integration tests

How to Configure in the Web App

  1. Select Static Analysis workflow type

    Choose "Static Analysis" from the dropdown menu

  2. Configure basic options

    Set workflow name, Node.js version, etc.

  3. Enable/disable specific checks

    Toggle TypeScript, ESLint, Prettier, and Tests

  4. Configure test settings

    Set test coverage thresholds if needed

Static Analysis Best Practices

For Pull Requests

  • Enable all checks to ensure code quality
  • Set as required status checks in GitHub
  • Keep test threshold requirements reasonable

For Performance

  • Enable dependency caching for faster runs
  • Use path filters to only run on relevant changes
  • Consider separating slow tests into separate workflows

Web App Preview and Validation

The web app provides real-time YAML preview as you configure your workflows. It also validates your configuration and highlights potential issues before generation.