Skip to content

Staging workflow infrastructure - #78

Open
icole wants to merge 4 commits into
mainfrom
claude/staging-workflow-infrastructure-U7SdH
Open

Staging workflow infrastructure#78
icole wants to merge 4 commits into
mainfrom
claude/staging-workflow-infrastructure-U7SdH

Conversation

@icole

@icole icole commented Jan 13, 2026

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 4 commits January 13, 2026 04:47
Implements a robust staging process to test backend and mobile apps before production release:

## Pre-commit Hooks (Lefthook)
- Auto-run RuboCop with auto-fix before commits
- Security scanning with Brakeman
- Migration detection warnings
- Full test suite before push
- Secrets detection

## Automated Staging Deployment
- GitHub Actions workflow for staging branch
- Automatic deployment to conduit-staging.crowwoods.com
- Post-deployment health checks
- Smoke test automation
- Deployment verification script

## Documentation
- STAGING_WORKFLOW.md: Complete workflow guide with branching strategy
- SETUP_STAGING.md: Quick setup guide for new developers
- Mobile app testing checklist (iOS TestFlight + Android internal track)

## Files Added/Modified
- lefthook.yml: Git hooks configuration
- .github/workflows/deploy-staging.yml: Staging deployment automation
- bin/verify-staging: Post-deployment verification script
- bin/setup: Auto-install git hooks
- Gemfile: Add lefthook gem
- .gitignore: Exclude lefthook-local.yml

This enables:
1. Faster feedback with pre-commit checks
2. Consistent code quality across team
3. Automated staging deployments
4. Comprehensive mobile testing workflow
5. Safe production releases

See SETUP_STAGING.md for installation instructions.
Enables developers to install both staging and production apps on the same device simultaneously.

## Documentation Added
- docs/DUAL_APP_SETUP_QUICKSTART.md: Quick overview and setup steps
- docs/iOS_STAGING_SETUP.md: Complete iOS staging configuration guide
- docs/ANDROID_STAGING_SETUP.md: Complete Android staging configuration guide

## Key Features
- Different bundle IDs/application IDs for staging vs production
- Separate app names ("Conduit" vs "Conduit Staging")
- Optional icon badges to visually distinguish apps
- Flavor-specific backend URLs
- Codemagic integration for automated builds

## iOS Setup
- Create staging scheme and build configuration
- Use com.colecoding.conduit.staging bundle ID
- Conditional compilation with STAGING flag
- Separate provisioning profiles

## Android Setup
- Product flavors (staging/production)
- BuildConfig for environment-specific URLs
- Separate signing configs
- Build variants for each environment

## Testing Benefits
- Test staging features without removing production app
- Compare staging vs production side-by-side
- Test notification navigation on staging safely
- Parallel development and testing

Also updated Gemfile.lock with lefthook gem entry.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants