- Auth: Login/Register con creacion de clinica - Dashboard: KPIs reales, graficas recharts - Pacientes: CRUD completo con busqueda - Agenda: FullCalendar, drag-and-drop, vista recepcion - Expediente: Notas SOAP, signos vitales, CIE-10 - Facturacion: Facturas con IVA, campos CFDI SAT - Inventario: Productos, stock, movimientos, alertas - Configuracion: Clinica, equipo, catalogo servicios - Supabase self-hosted: 18 tablas con RLS multi-tenant - Docker + Nginx para produccion Co-Authored-By: claude-flow <ruv@ruv.net>
442 lines
9.4 KiB
Markdown
442 lines
9.4 KiB
Markdown
# Workflow Automation - GitHub Actions Integration
|
|
|
|
## Overview
|
|
Integrate AI swarms with GitHub Actions to create intelligent, self-organizing CI/CD pipelines that adapt to your codebase.
|
|
|
|
## Core Features
|
|
|
|
### 1. Swarm-Powered Actions
|
|
```yaml
|
|
# .github/workflows/swarm-ci.yml
|
|
name: Intelligent CI with Swarms
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
swarm-analysis:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Initialize Swarm
|
|
uses: ruvnet/swarm-action@v1
|
|
with:
|
|
topology: mesh
|
|
max-agents: 6
|
|
|
|
- name: Analyze Changes
|
|
run: |
|
|
npx ruv-swarm actions analyze \
|
|
--commit ${{ github.sha }} \
|
|
--suggest-tests \
|
|
--optimize-pipeline
|
|
```
|
|
|
|
### 2. Dynamic Workflow Generation
|
|
```bash
|
|
# Generate workflows based on code analysis
|
|
npx ruv-swarm actions generate-workflow \
|
|
--analyze-codebase \
|
|
--detect-languages \
|
|
--create-optimal-pipeline
|
|
```
|
|
|
|
### 3. Intelligent Test Selection
|
|
```yaml
|
|
# Smart test runner
|
|
- name: Swarm Test Selection
|
|
run: |
|
|
npx ruv-swarm actions smart-test \
|
|
--changed-files ${{ steps.files.outputs.all }} \
|
|
--impact-analysis \
|
|
--parallel-safe
|
|
```
|
|
|
|
## Workflow Templates
|
|
|
|
### Multi-Language Detection
|
|
```yaml
|
|
# .github/workflows/polyglot-swarm.yml
|
|
name: Polyglot Project Handler
|
|
on: push
|
|
|
|
jobs:
|
|
detect-and-build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Detect Languages
|
|
id: detect
|
|
run: |
|
|
npx ruv-swarm actions detect-stack \
|
|
--output json > stack.json
|
|
|
|
- name: Dynamic Build Matrix
|
|
run: |
|
|
npx ruv-swarm actions create-matrix \
|
|
--from stack.json \
|
|
--parallel-builds
|
|
```
|
|
|
|
### Adaptive Security Scanning
|
|
```yaml
|
|
# .github/workflows/security-swarm.yml
|
|
name: Intelligent Security Scan
|
|
on:
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
security-swarm:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Security Analysis Swarm
|
|
run: |
|
|
# Use gh CLI for issue creation
|
|
SECURITY_ISSUES=$(npx ruv-swarm actions security \
|
|
--deep-scan \
|
|
--format json)
|
|
|
|
# Create issues for complex security problems
|
|
echo "$SECURITY_ISSUES" | jq -r '.issues[]? | @base64' | while read -r issue; do
|
|
_jq() {
|
|
echo ${issue} | base64 --decode | jq -r ${1}
|
|
}
|
|
gh issue create \
|
|
--title "$(_jq '.title')" \
|
|
--body "$(_jq '.body')" \
|
|
--label "security,critical"
|
|
done
|
|
```
|
|
|
|
## Action Commands
|
|
|
|
### Pipeline Optimization
|
|
```bash
|
|
# Optimize existing workflows
|
|
npx ruv-swarm actions optimize \
|
|
--workflow ".github/workflows/ci.yml" \
|
|
--suggest-parallelization \
|
|
--reduce-redundancy \
|
|
--estimate-savings
|
|
```
|
|
|
|
### Failure Analysis
|
|
```bash
|
|
# Analyze failed runs using gh CLI
|
|
gh run view ${{ github.run_id }} --json jobs,conclusion | \
|
|
npx ruv-swarm actions analyze-failure \
|
|
--suggest-fixes \
|
|
--auto-retry-flaky
|
|
|
|
# Create issue for persistent failures
|
|
if [ $? -ne 0 ]; then
|
|
gh issue create \
|
|
--title "CI Failure: Run ${{ github.run_id }}" \
|
|
--body "Automated analysis detected persistent failures" \
|
|
--label "ci-failure"
|
|
fi
|
|
```
|
|
|
|
### Resource Management
|
|
```bash
|
|
# Optimize resource usage
|
|
npx ruv-swarm actions resources \
|
|
--analyze-usage \
|
|
--suggest-runners \
|
|
--cost-optimize
|
|
```
|
|
|
|
## Advanced Workflows
|
|
|
|
### 1. Self-Healing CI/CD
|
|
```yaml
|
|
# Auto-fix common CI failures
|
|
name: Self-Healing Pipeline
|
|
on: workflow_run
|
|
|
|
jobs:
|
|
heal-pipeline:
|
|
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Diagnose and Fix
|
|
run: |
|
|
npx ruv-swarm actions self-heal \
|
|
--run-id ${{ github.event.workflow_run.id }} \
|
|
--auto-fix-common \
|
|
--create-pr-complex
|
|
```
|
|
|
|
### 2. Progressive Deployment
|
|
```yaml
|
|
# Intelligent deployment strategy
|
|
name: Smart Deployment
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
progressive-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Analyze Risk
|
|
id: risk
|
|
run: |
|
|
npx ruv-swarm actions deploy-risk \
|
|
--changes ${{ github.sha }} \
|
|
--history 30d
|
|
|
|
- name: Choose Strategy
|
|
run: |
|
|
npx ruv-swarm actions deploy-strategy \
|
|
--risk ${{ steps.risk.outputs.level }} \
|
|
--auto-execute
|
|
```
|
|
|
|
### 3. Performance Regression Detection
|
|
```yaml
|
|
# Automatic performance testing
|
|
name: Performance Guard
|
|
on: pull_request
|
|
|
|
jobs:
|
|
perf-swarm:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Performance Analysis
|
|
run: |
|
|
npx ruv-swarm actions perf-test \
|
|
--baseline main \
|
|
--threshold 10% \
|
|
--auto-profile-regression
|
|
```
|
|
|
|
## Custom Actions
|
|
|
|
### Swarm Action Development
|
|
```javascript
|
|
// action.yml
|
|
name: 'Swarm Custom Action'
|
|
description: 'Custom swarm-powered action'
|
|
inputs:
|
|
task:
|
|
description: 'Task for swarm'
|
|
required: true
|
|
runs:
|
|
using: 'node16'
|
|
main: 'dist/index.js'
|
|
|
|
// index.js
|
|
const { SwarmAction } = require('ruv-swarm');
|
|
|
|
async function run() {
|
|
const swarm = new SwarmAction({
|
|
topology: 'mesh',
|
|
agents: ['analyzer', 'optimizer']
|
|
});
|
|
|
|
await swarm.execute(core.getInput('task'));
|
|
}
|
|
```
|
|
|
|
## Matrix Strategies
|
|
|
|
### Dynamic Test Matrix
|
|
```yaml
|
|
# Generate test matrix from code analysis
|
|
jobs:
|
|
generate-matrix:
|
|
outputs:
|
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
steps:
|
|
- id: set-matrix
|
|
run: |
|
|
MATRIX=$(npx ruv-swarm actions test-matrix \
|
|
--detect-frameworks \
|
|
--optimize-coverage)
|
|
echo "matrix=${MATRIX}" >> $GITHUB_OUTPUT
|
|
|
|
test:
|
|
needs: generate-matrix
|
|
strategy:
|
|
matrix: ${{fromJson(needs.generate-matrix.outputs.matrix)}}
|
|
```
|
|
|
|
### Intelligent Parallelization
|
|
```bash
|
|
# Determine optimal parallelization
|
|
npx ruv-swarm actions parallel-strategy \
|
|
--analyze-dependencies \
|
|
--time-estimates \
|
|
--cost-aware
|
|
```
|
|
|
|
## Monitoring & Insights
|
|
|
|
### Workflow Analytics
|
|
```bash
|
|
# Analyze workflow performance
|
|
npx ruv-swarm actions analytics \
|
|
--workflow "ci.yml" \
|
|
--period 30d \
|
|
--identify-bottlenecks \
|
|
--suggest-improvements
|
|
```
|
|
|
|
### Cost Optimization
|
|
```bash
|
|
# Optimize GitHub Actions costs
|
|
npx ruv-swarm actions cost-optimize \
|
|
--analyze-usage \
|
|
--suggest-caching \
|
|
--recommend-self-hosted
|
|
```
|
|
|
|
### Failure Patterns
|
|
```bash
|
|
# Identify failure patterns
|
|
npx ruv-swarm actions failure-patterns \
|
|
--period 90d \
|
|
--classify-failures \
|
|
--suggest-preventions
|
|
```
|
|
|
|
## Integration Examples
|
|
|
|
### 1. PR Validation Swarm
|
|
```yaml
|
|
name: PR Validation Swarm
|
|
on: pull_request
|
|
|
|
jobs:
|
|
validate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Multi-Agent Validation
|
|
run: |
|
|
# Get PR details using gh CLI
|
|
PR_DATA=$(gh pr view ${{ github.event.pull_request.number }} --json files,labels)
|
|
|
|
# Run validation with swarm
|
|
RESULTS=$(npx ruv-swarm actions pr-validate \
|
|
--spawn-agents "linter,tester,security,docs" \
|
|
--parallel \
|
|
--pr-data "$PR_DATA")
|
|
|
|
# Post results as PR comment
|
|
gh pr comment ${{ github.event.pull_request.number }} \
|
|
--body "$RESULTS"
|
|
```
|
|
|
|
### 2. Release Automation
|
|
```yaml
|
|
name: Intelligent Release
|
|
on:
|
|
push:
|
|
tags: ['v*']
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Release Swarm
|
|
run: |
|
|
npx ruv-swarm actions release \
|
|
--analyze-changes \
|
|
--generate-notes \
|
|
--create-artifacts \
|
|
--publish-smart
|
|
```
|
|
|
|
### 3. Documentation Updates
|
|
```yaml
|
|
name: Auto Documentation
|
|
on:
|
|
push:
|
|
paths: ['src/**']
|
|
|
|
jobs:
|
|
docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Documentation Swarm
|
|
run: |
|
|
npx ruv-swarm actions update-docs \
|
|
--analyze-changes \
|
|
--update-api-docs \
|
|
--check-examples
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
### 1. Workflow Organization
|
|
- Use reusable workflows for swarm operations
|
|
- Implement proper caching strategies
|
|
- Set appropriate timeouts
|
|
- Use workflow dependencies wisely
|
|
|
|
### 2. Security
|
|
- Store swarm configs in secrets
|
|
- Use OIDC for authentication
|
|
- Implement least-privilege principles
|
|
- Audit swarm operations
|
|
|
|
### 3. Performance
|
|
- Cache swarm dependencies
|
|
- Use appropriate runner sizes
|
|
- Implement early termination
|
|
- Optimize parallel execution
|
|
|
|
## Advanced Features
|
|
|
|
### Predictive Failures
|
|
```bash
|
|
# Predict potential failures
|
|
npx ruv-swarm actions predict \
|
|
--analyze-history \
|
|
--identify-risks \
|
|
--suggest-preventive
|
|
```
|
|
|
|
### Workflow Recommendations
|
|
```bash
|
|
# Get workflow recommendations
|
|
npx ruv-swarm actions recommend \
|
|
--analyze-repo \
|
|
--suggest-workflows \
|
|
--industry-best-practices
|
|
```
|
|
|
|
### Automated Optimization
|
|
```bash
|
|
# Continuously optimize workflows
|
|
npx ruv-swarm actions auto-optimize \
|
|
--monitor-performance \
|
|
--apply-improvements \
|
|
--track-savings
|
|
```
|
|
|
|
## Debugging & Troubleshooting
|
|
|
|
### Debug Mode
|
|
```yaml
|
|
- name: Debug Swarm
|
|
run: |
|
|
npx ruv-swarm actions debug \
|
|
--verbose \
|
|
--trace-agents \
|
|
--export-logs
|
|
```
|
|
|
|
### Performance Profiling
|
|
```bash
|
|
# Profile workflow performance
|
|
npx ruv-swarm actions profile \
|
|
--workflow "ci.yml" \
|
|
--identify-slow-steps \
|
|
--suggest-optimizations
|
|
```
|
|
|
|
See also: [swarm-pr.md](./swarm-pr.md), [release-swarm.md](./release-swarm.md) |