A powerful, flexible tool to generate GitHub Actions and Bitrise workflows for React Native CI/CD pipelines.
💰 Save time and reduce complexity by automating your React Native CI/CD setup
✨ Features • 📦 Installation • 🔧 Usage • 📚 Documentation • 👥 Contributing • ⚖️ License
- Powerful Workflow Generation: Create optimized GitHub Actions or Bitrise workflows for React Native applications
- Multiple Preset Templates: Built-in presets for static analysis, builds, and more
- Platform Support: Generate workflows for both Android and iOS builds
- Flexible Configuration: Use via CLI, programmatic API, or web interface
- Strong TypeScript Integration: Full type definitions for all configuration options
- Environment Management: Automatic detection and configuration of .env files
- Smart Secret Handling: Contextual secret management with documentation
- Artifact Storage Options: Support for GitHub, Firebase, Google Drive, and S3
- Notification Integration: Built-in support for Slack and PR comments
Disclaimer: These estimates are based on realistic React Native CI/CD scenarios. Actual savings depend heavily on your team's experience, project complexity, and current setup efficiency.
- Initial Setup: Create workflows in under 5 minutes - from weeks to hours (95% time reduction)
- Per Workflow: Generate in 15 minutes vs 4-8 hours manually
- YAML Learning Curve: Completely eliminated - no GitHub Actions syntax required
- Documentation: Secrets guide saves 30-60 minutes per workflow
- Debugging: Pre-validated configs reduce common errors by 95%
- Developer Time: Save $1,200-4,800 per project (12-48 hours × $100/hour)
- One-time Investment: Learn once, apply across all projects vs repeated manual work
- Faster Time-to-Market: Deploy 2-3 weeks earlier with automated CI/CD
- Configuration Errors: 95% fewer mistakes with pre-validated templates
- Development Cycles: 80% faster with reliable automated workflows
- Project Scalability: Handle 10x more projects with same resources
- Seamless Integration: Minimal disruption to existing workflows
| Aspect | Manual Setup | With Tool | Impact |
|---|---|---|---|
| Learning curve | High (GitHub Actions syntax) | Eliminated (visual interface) | No YAML required |
| Initial setup | Weeks | Under 5 minutes | 95% time reduction |
| Per workflow | 4-8 hours | 15 minutes | Hours to minutes |
| Error likelihood | High (syntax errors) | 95% fewer errors | Pre-validated templates |
| Integration | Complex transition | Seamless workflow integration | Minimizes disruption |
| Scalability | Limited by manual work | 10x more projects | Dramatic improvement |
Ready to Start? Generate your first workflow in 15 minutes and see immediate 95% time savings with $2K-6K cost reduction per project.
npm install rn-ci-workflow-builderyarn add rn-ci-workflow-builderThe workflow builder takes a preset configuration and generates a ready-to-use GitHub Actions or Bitrise workflow file. It handles all the complexity of creating the correct YAML structure, configuring dependencies, managing secrets, and optimizing the workflow for React Native projects.
The CLI allows you to quickly generate workflow files for your React Native project.
# Install globally
npm install -g rn-ci-workflow-builder
# Generate workflow with default options (static-analysis)
rn-ci-workflow-builder generate
# Generate specific preset
rn-ci-workflow-builder generate static-analysis
# Generate build workflow
rn-ci-workflow-builder generate build# Load config from file
rn-ci-workflow-builder generate --config path/to/config.json
# Specify output directory/file
rn-ci-workflow-builder generate --dir .github/custom-workflows
rn-ci-workflow-builder generate --output my-workflow.yml
# Generate for Bitrise platform (default: GitHub Actions)
rn-ci-workflow-builder generate build --platform bitrise
# Validate configuration without generating files
rn-ci-workflow-builder generate --config config.json --validate-only
rn-ci-workflow-builder validate --config config.json
# Show required secrets for a configuration
rn-ci-workflow-builder secrets firebase slack --platform android
# List available presets
rn-ci-workflow-builder list-presetsComprehensive documentation is available to help you get the most out of the workflow builder:
- 📃 CLI Commands Reference - Detailed information about all available commands
- 🔒 Secret Management Guide - Working with secrets for different platforms and services
- 🏗️ Environment Configuration - Managing environment variables and .env files
You can also use the workflow generator programmatically in your own scripts:
import { generateWorkflow, writeWorkflowFile } from 'rn-ci-workflow-builder';
// Generate a static-analysis workflow
const config = {
kind: 'static-analysis',
options: {
name: 'Custom Static Analysis',
triggers: {
push: {
branches: ['main', 'dev'],
ignorePaths: ['docs/**']
},
pullRequest: {
branches: ['main']
},
workflowDispatch: true
},
nodeVersions: [18, 20],
packageManager: 'yarn'
}
};
// Generate YAML string with secrets summary
const { yaml, secretsSummary } = generateWorkflow(config);
console.log(yaml);
// Display secrets summary if available
if (secretsSummary) {
console.log('Required secrets:')
console.log(secretsSummary);
}
// Or write directly to a file
const { filePath, secretsSummary: summary } = writeWorkflowFile(
config,
'.github/workflows',
'custom-static-analysis.yml'
);
console.log(`Workflow written to ${filePath}`);The workflow builder supports a wide range of configuration options:
- 💡 Workflow triggers (push, pull request, manual dispatch)
- 🔩 Node.js versions and package managers
- 🔑 Environment variables and secrets
- 📍 Build variants and platforms
- 📢 Notification and storage options
Available Presets:
- 🎨 Static Analysis: Run TypeScript checks, ESLint, Prettier, and unit tests
- 🏗️ Build: Generate platform-specific build workflows for Android and/or iOS
For complete configuration details, refer to the 📒 configuration documentation and 🗜️ workflow presets documentation.
# Clone the repository
git clone https://github.com/yourusername/rn-ci-workflow-builder.git
cd rn-ci-workflow-builder
# Install dependencies
npm install
# or
yarn install
# Build the project
npm run build
# or
yarn build# Run in development mode (generates static-analysis workflow)
npm run dev
# or
yarn dev
# Generate workflow using static-analysis preset
npm run generate:health
# or
yarn generate:health
# Generate workflow using build preset
npm run generate:build
# or
yarn generate:build
# Generate Android build workflow
npm run generate:build:android
# or
yarn generate:build:android
# Generate iOS build workflow
npm run generate:build:ios
# or
yarn generate:build:ios
# Generate multi-platform build workflow
npm run generate:build:both
# or
yarn generate:build:both
# List available presets
npm run list-presets
# or
yarn list-presets
# Type checking
npm run tsc -- --noEmit
# or
yarn tsc --noEmit
# Linting
npm run lint
# or
yarn lint
# Format code
npm run format
# or
yarn format
# Run tests
npm test
# or
yarn testThe workflow builder is designed to be extensible. You can create custom workflow presets for specific CI/CD scenarios. For detailed instructions on creating custom presets, see the 🛠️ core concepts guide.
Web Application: The project includes a web-based interface with user-friendly forms, real-time YAML preview, and validation. To run locally:
cd app && yarn install && yarn devContributions are welcome! Please check our Contributing Guidelines for details on how to submit pull requests, report issues, and suggest features.
This project is licensed under the MIT License.
|
kagrawal61 |
NikhilVashistha |