chore: add label sync script for org-wide labels
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
9c3ff81787
commit
c337c1ae62
1 changed files with 43 additions and 0 deletions
43
scripts/sync-labels.sh
Executable file
43
scripts/sync-labels.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
# Sync labels from core-agent to other repos in host-uk org
|
||||
# Usage: ./sync-labels.sh [repo1] [repo2] ...
|
||||
# If no repos specified, syncs to all core-* repos
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE_REPO="host-uk/core-agent"
|
||||
|
||||
# Get labels from source
|
||||
labels=$(gh label list -R "$SOURCE_REPO" --json name,color,description --limit 100)
|
||||
|
||||
sync_to_repo() {
|
||||
local repo=$1
|
||||
echo "Syncing labels to $repo..."
|
||||
|
||||
echo "$labels" | jq -c '.[]' | while read -r label; do
|
||||
name=$(echo "$label" | jq -r '.name')
|
||||
color=$(echo "$label" | jq -r '.color')
|
||||
desc=$(echo "$label" | jq -r '.description')
|
||||
|
||||
# Try to create, if exists try to update
|
||||
if ! gh label create "$name" --color "$color" --description "$desc" -R "$repo" 2>/dev/null; then
|
||||
gh label edit "$name" --color "$color" --description "$desc" -R "$repo" 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
|
||||
echo " Done: $repo"
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
# Sync to all core-* repos
|
||||
for repo in host-uk/core-{php,tenant,admin,api,mcp,agentic,bio,social,analytics,notify,trust,support,commerce,content,tools,uptelligence,developer}; do
|
||||
sync_to_repo "$repo"
|
||||
done
|
||||
else
|
||||
for repo in "$@"; do
|
||||
sync_to_repo "$repo"
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Label sync complete!"
|
||||
Loading…
Add table
Reference in a new issue