agent-orchestrator/.github/workflows/community-sync.yml

91 lines
2.7 KiB
YAML

name: Community Sync
on:
workflow_dispatch:
inputs:
dry_run:
description: "Dry run (show what would be removed, don't push)"
required: false
default: "false"
type: boolean
release:
types: [published]
permissions:
contents: read
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Strip commercial content
run: bash scripts/strip-commercial.sh
- name: Verify no commercial references remain
run: |
failed=0
if [ -d "agor-pro/" ]; then
echo "::error::agor-pro/ directory still exists after strip"
failed=1
fi
content=$(find src/lib/commercial/ -type f ! -name '.gitkeep' 2>/dev/null | wc -l)
if [ "$content" -gt 0 ]; then
echo "::error::Commercial files remain in src/lib/commercial/"
failed=1
fi
if grep -r "LicenseRef-Commercial" --include="*.ts" --include="*.svelte" \
--include="*.rs" --include="*.toml" --include="*.json" \
src/ src-tauri/src/ agor-core/ 2>/dev/null; then
echo "::error::LicenseRef-Commercial references remain in source"
failed=1
fi
if [ "$failed" -eq 1 ]; then
exit 1
fi
echo "Verification passed: no commercial content remains."
- name: Show diff summary
run: |
echo "=== Files removed or modified ==="
git status --short
echo ""
echo "=== Diff stats ==="
git diff --stat
- name: Push to community repo
if: ${{ github.event.inputs.dry_run != 'true' }}
env:
COMMUNITY_PAT: ${{ secrets.COMMUNITY_PAT }}
run: |
if [ -z "$COMMUNITY_PAT" ]; then
echo "::error::COMMUNITY_PAT secret is not set"
exit 1
fi
git config user.name "community-sync[bot]"
git config user.email "community-sync[bot]@users.noreply.github.com"
git add -A
git commit -m "chore: sync community edition from commercial repo
Stripped commercial content for community release.
Source: ${{ github.sha }}"
SYNC_BRANCH="community-sync/${{ github.sha }}"
git checkout -b "$SYNC_BRANCH"
git remote add community \
"https://x-access-token:${COMMUNITY_PAT}@github.com/DexterFromLab/agent-orchestrator.git"
git push community "$SYNC_BRANCH"
echo "Pushed branch $SYNC_BRANCH to community repo."
echo "Create a PR at: https://github.com/DexterFromLab/agent-orchestrator/compare/main...$SYNC_BRANCH"