Standardized CI/CD workflows for all ChittyOS, ChittyCorp, and nevershitty organization repositories.
- Automated Testing: Run tests on every push and PR
- ChittyBeacon Integration: Automatic app tracking in all deployments
- Security Scanning: CodeQL, Trivy, OWASP dependency checks
- Automated Deployments: Support for Vercel, Cloudflare Workers, and more
- Dependency Updates: Weekly automated dependency updates with PRs
- Multi-language Support: Node.js, Python, Rust, Go
Run the setup script to add workflows to all organization repositories:
./setup-org-workflows.shThis will:
- Clone/update all repositories
- Detect project type
- Add appropriate workflows
- Install ChittyBeacon
- Create PRs with the changes
- Runs on Node 16.x, 18.x, and 20.x
- Installs ChittyBeacon automatically
- Runs linting, tests, and builds
- Security audit with npm audit and Snyk
- Deploys to production on main branch
- Deploys to Cloudflare Workers
- Adds ChittyBeacon to worker entry point
- Supports multiple environments
- Automatic cache purging
- Preview deployments for PRs
- Production deployments from main
- Automatic ChittyBeacon integration
- Comments PR with preview URL
- Tests on Python 3.8-3.11
- Includes custom ChittyBeacon module
- Runs pytest, flake8, black, isort
- Security scanning with Bandit and Safety
- Weekly automated updates
- Creates PRs with changes
- Security vulnerability scanning
- Ensures ChittyBeacon stays updated
Add these secrets to your repository settings:
BEACON_ENDPOINT(optional): Custom beacon endpoint (defaults to https://beacon.cloudeto.com)
CLOUDFLARE_API_TOKEN: Your Cloudflare API tokenCLOUDFLARE_ACCOUNT_ID: Your Cloudflare account IDCLOUDFLARE_ZONE_ID: Your zone ID (for cache purging)
VERCEL_TOKEN: Your Vercel tokenVERCEL_ORG_ID: Your Vercel organization IDVERCEL_PROJECT_ID: Your Vercel project ID
SNYK_TOKEN: Snyk authentication tokenSONAR_TOKEN: SonarCloud token
All workflows automatically add ChittyBeacon to track:
- Application startups/shutdowns
- Periodic heartbeats (every 5 minutes)
- Platform detection
- Deployment events
If you need to add ChittyBeacon manually:
npm install @chittycorp/app-beacon --saveThen add to your entry point:
require('@chittycorp/app-beacon');
// or
import '@chittycorp/app-beacon';ChittyBeacon supports these environment variables:
BEACON_ENDPOINT: Custom tracking endpointBEACON_INTERVAL: Heartbeat interval in ms (default: 300000)BEACON_DISABLED: Set to 'true' to disableBEACON_VERBOSE: Set to 'true' for debug output
Modify workflows by editing the .yml files and running the setup script again.
All repositories should follow these standards:
- Include ChittyBeacon for monitoring
- Have CI/CD workflows for testing and deployment
- Run security scans on dependencies
- Include a LICENSE file (MIT by default)
- No secrets in code (checked automatically)
- Issues: Create an issue in this repository
- Beacon Dashboard: https://beacon.cloudeto.com
- Documentation: https://docs.chitty.cc
MIT License - see LICENSE file