feat: CLA configuration + community sync workflow
This commit is contained in:
parent
105107dd84
commit
18364826dc
3 changed files with 179 additions and 0 deletions
4
.github/cla.yml
vendored
Normal file
4
.github/cla.yml
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# CLA-assistant configuration
|
||||||
|
# See: https://github.com/cla-assistant/cla-assistant
|
||||||
|
signedClaUrl: "https://github.com/DexterFromLab/agent-orchestrator/blob/main/CLA.md"
|
||||||
|
allowOrganizationMembers: true
|
||||||
91
.github/workflows/community-sync.yml
vendored
Normal file
91
.github/workflows/community-sync.yml
vendored
Normal file
|
|
@ -0,0 +1,91 @@
|
||||||
|
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"
|
||||||
84
CLA.md
Normal file
84
CLA.md
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
# Individual Contributor License Agreement
|
||||||
|
|
||||||
|
Thank you for your interest in contributing to Agent Orchestrator ("the Project").
|
||||||
|
This Contributor License Agreement ("Agreement") documents the rights granted by
|
||||||
|
contributors to the Project maintainers. This is a legally binding document, so
|
||||||
|
please read it carefully before agreeing.
|
||||||
|
|
||||||
|
## 1. Definitions
|
||||||
|
|
||||||
|
"You" (or "Your") means the individual who submits a Contribution to the Project.
|
||||||
|
|
||||||
|
"Contribution" means any original work of authorship, including any modifications
|
||||||
|
or additions to existing work, that You intentionally submit to the Project for
|
||||||
|
inclusion. "Submit" means any form of electronic or written communication sent to
|
||||||
|
the Project, including but not limited to pull requests, patches, issues, and
|
||||||
|
comments on any of these.
|
||||||
|
|
||||||
|
"Project Maintainers" means the owners and administrators of the
|
||||||
|
`DexterFromLab/agent-orchestrator` and `agents-orchestrator/agents-orchestrator`
|
||||||
|
repositories.
|
||||||
|
|
||||||
|
## 2. Grant of Copyright License
|
||||||
|
|
||||||
|
Subject to the terms of this Agreement, You hereby grant to the Project Maintainers
|
||||||
|
and to recipients of software distributed by the Project Maintainers a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to
|
||||||
|
reproduce, prepare derivative works of, publicly display, publicly perform,
|
||||||
|
sublicense, and distribute Your Contributions and such derivative works.
|
||||||
|
|
||||||
|
## 3. Grant of Patent License
|
||||||
|
|
||||||
|
Subject to the terms of this Agreement, You hereby grant to the Project Maintainers
|
||||||
|
and to recipients of software distributed by the Project Maintainers a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to
|
||||||
|
make, have made, use, offer to sell, sell, import, and otherwise transfer the
|
||||||
|
Contribution, where such license applies only to those patent claims licensable by
|
||||||
|
You that are necessarily infringed by Your Contribution alone or by combination of
|
||||||
|
Your Contribution with the Project to which such Contribution was submitted.
|
||||||
|
|
||||||
|
## 4. Representations
|
||||||
|
|
||||||
|
You represent that:
|
||||||
|
|
||||||
|
(a) You are legally entitled to grant the above licenses. If your employer has
|
||||||
|
rights to intellectual property that you create, you represent that you have received
|
||||||
|
permission to make Contributions on behalf of that employer, or that your employer
|
||||||
|
has waived such rights for your Contributions.
|
||||||
|
|
||||||
|
(b) Each of Your Contributions is Your original creation. You represent that Your
|
||||||
|
Contribution submissions include complete details of any third-party license or
|
||||||
|
other restriction of which you are personally aware and which are associated with
|
||||||
|
any part of Your Contributions.
|
||||||
|
|
||||||
|
(c) Your Contribution does not violate any existing agreement or obligation you have
|
||||||
|
with any third party.
|
||||||
|
|
||||||
|
## 5. No Obligation
|
||||||
|
|
||||||
|
You understand that the decision to include Your Contribution in any product or
|
||||||
|
project is entirely at the discretion of the Project Maintainers and that this
|
||||||
|
Agreement does not guarantee that Your Contribution will be included.
|
||||||
|
|
||||||
|
## 6. Support
|
||||||
|
|
||||||
|
You are not expected to provide support for Your Contributions, except to the extent
|
||||||
|
You desire to provide support. You may provide support for free, for a fee, or not
|
||||||
|
at all.
|
||||||
|
|
||||||
|
## 7. Ownership
|
||||||
|
|
||||||
|
You retain ownership of the copyright in Your Contributions. This Agreement does
|
||||||
|
not transfer ownership; it only grants the licenses described above.
|
||||||
|
|
||||||
|
## 8. Dual-License Usage
|
||||||
|
|
||||||
|
You acknowledge that Your Contributions may be used in both the open-source
|
||||||
|
community edition (MIT License) and the commercial edition of the Project. The
|
||||||
|
licenses granted above permit this dual usage.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
To sign this CLA, submit a pull request to the community repository
|
||||||
|
(`DexterFromLab/agent-orchestrator`). The CLA-assistant bot will guide you through
|
||||||
|
the signing process automatically.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue