Skip to content
Skip to content
Goodspeed

Build apps with GitHub Actions

Every Goodspeed app ships with 10 GitHub Actions workflows covering CI, E2E, security, visual regression, i18n, and crash-free rate monitoring. Goodspeed generates GitHub Actions as a standard part of every app, so the output is a working codebase from day one, not a scaffold you have to finish yourself.

WHAT GETS GENERATED

Built into every GitHub Actions build

Every app Goodspeed generates with GitHub Actions includes these production-ready patterns, wired together from the first build.

ItemDescriptionStrength
ci.yml: type check, tests, lintRuns tsc --noEmit, Jest unit tests, and ESLint on every PR. Blocks merge if any step fails so type regressions are caught before EAS Build.Quality
e2e.yml: Maestro end-to-end testsRuns the Maestro E2E test suite against a development build on every PR targeting main, covering the core user flows defined in the .maestro/ directory.Testing
security.yml: dependency auditRuns npm audit and a Semgrep scan on PRs. Fails on high-severity vulnerabilities in the generated app's dependency tree.Security
visual.yml: screenshot regressionCaptures screenshots of key screens with Maestro and compares them to baselines stored in the repo. Flags visual regressions as PR checks.Visual
crash-free.yml: crash-free rate gateAfter production EAS Submit, a scheduled workflow queries Sentry for the crash-free session rate. Alerts the team if it drops below the configured threshold.Monitoring
i18n.yml: translation completenessChecks that every key in en.json is present in all declared locale files. PRs that add keys without translations fail before merge.i18n

Source: gas-template repository · CI / CD

REAL GENERATED CODE

A snippet from a GitHub Actions app the studio shipped

This pattern comes directly from the gas-template codebase, the foundation every Goodspeed app is generated on. The studio generates GitHub Actions code like this for every app in the pipeline, not just a hello-world scaffold.

  1. CI workflow

    # .github/workflows/ci.yml
    name: CI
    on:
      push: { branches: [main] }
      pull_request:
    jobs:
      type-check:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with: { node-version: '22' }
          - run: npm ci
          - run: npx tsc --noEmit
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - run: npm ci && npm test
GDaily Allergens

Today's log

Gluten
Tree nuts
Shellfish
Dairy
HomeScanLogProfile

START WITH GITHUB ACTIONS

Your GitHub Actions app, generated