Consolidate the repository into clearer apps, tools, and layered docs areas so contributors can navigate and maintain it more reliably. Align validation, metadata sync, and CI around the same canonical workflow to reduce drift across local checks and GitHub Actions.
67 lines
2.4 KiB
Bash
Executable File
67 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Release Cycle Automation Script
|
|
# Enforces protocols from .github/MAINTENANCE.md
|
|
|
|
set -e
|
|
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${YELLOW}🤖 Initiating Antigravity Release Protocol...${NC}"
|
|
|
|
# 1. Validation Chain
|
|
echo -e "\n${YELLOW}Step 1: Running Validation Chain...${NC}"
|
|
echo "Running validate_skills.py..."
|
|
python3 tools/scripts/validate_skills.py
|
|
echo "Running generate_index.py..."
|
|
python3 tools/scripts/generate_index.py
|
|
echo "Running update_readme.py..."
|
|
python3 tools/scripts/update_readme.py
|
|
|
|
# 2. Catalog (required for CI)
|
|
echo -e "\n${YELLOW}Step 2: Build catalog...${NC}"
|
|
npm run catalog
|
|
|
|
# 3. Stats Consistency Check
|
|
echo -e "\n${YELLOW}Step 3: Verifying Stats Consistency...${NC}"
|
|
JSON_COUNT=$(python3 -c "import json; print(len(json.load(open('skills_index.json'))))")
|
|
echo "Skills in Registry (JSON): $JSON_COUNT"
|
|
|
|
# Check README Intro
|
|
README_CONTENT=$(cat README.md)
|
|
if [[ "$README_CONTENT" != *"$JSON_COUNT high-performance"* ]]; then
|
|
echo -e "${RED}❌ ERROR: README.md intro consistency failure!${NC}"
|
|
echo "Expected: '$JSON_COUNT high-performance'"
|
|
echo "Found mismatch. Please grep for 'high-performance' in README.md and fix it."
|
|
exit 1
|
|
fi
|
|
echo -e "${GREEN}✅ Stats Consistent.${NC}"
|
|
|
|
# 4. Version check (package.json is source of truth for npm)
|
|
echo -e "\n${YELLOW}Step 4: Version check${NC}"
|
|
PKG_VERSION=$(node -p "require('./package.json').version")
|
|
echo "package.json version: $PKG_VERSION"
|
|
echo "Ensure this version is bumped before 'npm publish' (npm forbids republishing the same version)."
|
|
|
|
# 5. Contributor Check
|
|
echo -e "\n${YELLOW}Step 5: Contributor Check${NC}"
|
|
echo "Recent commits by author (check against README 'Repo Contributors'):"
|
|
git shortlog -sn --since="1 month ago" --all --no-merges | head -n 10
|
|
|
|
echo -e "${YELLOW}⚠️ MANUAL VERIFICATION REQUIRED:${NC}"
|
|
echo "1. Are all PR authors above listed in 'Repo Contributors'?"
|
|
echo "2. Are all External Sources listed in 'Credits & Sources'?"
|
|
read -p "Type 'yes' to confirm you have verified contributors: " CONFIRM_CONTRIB
|
|
|
|
if [ "$CONFIRM_CONTRIB" != "yes" ]; then
|
|
echo -e "${RED}❌ Verification failed. Aborting.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "\n${GREEN}✅ Release Cycle Checks Passed. You may now commit and push.${NC}"
|
|
echo -e "${YELLOW}After tagging a release: run \`npm publish\` from repo root (or use GitHub Release + NPM_TOKEN for CI).${NC}"
|
|
exit 0
|