Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.

ChittyOS Compliance Check #80

ChittyOS Compliance Check

ChittyOS Compliance Check #80

name: ChittyOS Compliance Check
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
schedule:
# Run daily at 6 AM UTC
- cron: '0 6 * * *'
env:
CHITTY_ID_TOKEN: ${{ secrets.CHITTY_ID_TOKEN }}
R2_ENDPOINT: https://r2.cloudflarestorage.com
R2_ACCESS_KEY: ${{ secrets.R2_ACCESS_KEY }}
R2_SECRET_KEY: ${{ secrets.R2_SECRET_KEY }}
NEON_CONNECTION_STRING: ${{ secrets.NEON_CONNECTION_STRING }}
jobs:
compliance-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: |
if [ -f package.json ]; then
npm install
fi
- name: Install ripgrep (for fast search)
run: sudo apt-get update && sudo apt-get install -y ripgrep
- name: Create ChittyOS data directory
run: mkdir -p $HOME/.chittychat-data
- name: Run ChittyOS compliance check
run: |
chmod +x /home/runner/work/cli/cli/.claude/projects/-/chittycheck/chittycheck-enhanced-unified.sh
/home/runner/work/cli/cli/.claude/projects/-/chittycheck/chittycheck-enhanced-unified.sh
env:
CHITTYOS_DATA_DIR: $HOME/.chittychat-data
- name: Run CI security guard
run: |
chmod +x scripts/ci/no-direct-models.sh
./scripts/ci/no-direct-models.sh
- name: Upload compliance report
if: always()
uses: actions/upload-artifact@v4
with:
name: compliance-report-${{ github.sha }}
path: |
~/.chittyos/logs/
QA_*.md
retention-days: 30
security-scan:
runs-on: ubuntu-latest
needs: compliance-check
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
scan-type: 'fs'
scan-ref: '.'
format: 'sarif'
output: 'trivy-results.sarif'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: 'trivy-results.sarif'
performance-test:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Performance benchmarks
run: |
echo "🚀 Running performance tests..."
# Test ChittyCheck performance
time /home/runner/work/cli/cli/.claude/projects/-/chittycheck/chittycheck-enhanced-unified.sh > /dev/null
# Test CI guard performance
time ./scripts/ci/no-direct-models.sh
echo "✅ Performance tests completed"
deploy-staging:
runs-on: ubuntu-latest
needs: [compliance-check, security-scan]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to staging
run: |
echo "🚀 Deploying to staging environment..."
echo "ChittyOS Framework deployment would happen here"
- name: Run smoke tests
run: |
echo "🧪 Running smoke tests..."
# Add actual smoke tests here
- name: Notify deployment
if: success()
run: |
echo "✅ Deployment successful"
# Add notification logic (Slack, email, etc.)