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