Staging workflow infrastructure - #78
Open
icole wants to merge 4 commits into
Open
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.