#!/usr/bin/env bash set -euo pipefail # 이 스크립트가 위치한 디렉토리 기준으로 프로젝트 루트를 설정 UPDATE_CATALOG_ROOT="$(cd "$(dirname "$0")/.." && pwd)" # dip-catalog 레포 경로 (환경변수로 오버라이드 가능) CATALOG_ROOT="${CATALOG_ROOT:-/Users/songwonbin/openclaw-workspace/dip-catalog}" CHART="${CHART:-airflow}" DEFAULT_BRANCH="${DEFAULT_BRANCH:-main}" OUT_DIR="${OUT_DIR:-$(pwd)/update_catalog}" # 차트별 하위 디렉토리로 격리 → 다중 차트 동시 실행 시 충돌 방지 CHART_OUT_DIR="$OUT_DIR/$CHART" mkdir -p "$CHART_OUT_DIR" # 이전 실행의 임시 마커 파일 정리 rm -f "$CHART_OUT_DIR/no_update" VERSION_JSON="$CHART_OUT_DIR/chart_version.json" CHART_UPDATE_JSON="$CHART_OUT_DIR/chart_update.json" DIFF_JSON="$CHART_OUT_DIR/helm_diff.json" BREAKING_JSON="$CHART_OUT_DIR/breaking.json" UPGRADE_DOC_JSON="$CHART_OUT_DIR/upgrade_doc.json" UPDATE_DOCS_JSON="$CHART_OUT_DIR/update_docs.json" PR_JSON="$CHART_OUT_DIR/pr.json" # dip-catalog main 브랜치 최신화 (create_pr이 브랜치를 main에서 분기하므로 선행 필요) git -C "$CATALOG_ROOT" checkout "$DEFAULT_BRANCH" git -C "$CATALOG_ROOT" pull origin "$DEFAULT_BRANCH" # 0) chart_version_detector: FROM_VERSION / TO_VERSION / REPO 자동 감지 python3 "$UPDATE_CATALOG_ROOT/skills/chart_version_detector/scripts/run.py" \ --catalog-root "$CATALOG_ROOT" --chart "$CHART" \ > "$VERSION_JSON" python3 - <// 생성 # + FROM_VERSION에서 BUILD-README.md(버전 치환), CUSTOM-README.md, custom-values.yaml 복사 python3 "$UPDATE_CATALOG_ROOT/skills/chart_updater/scripts/run.py" \ --catalog-root "$CATALOG_ROOT" \ --chart "$CHART" \ --repo "$REPO" \ --version "$TO_VERSION" \ --from-version "$FROM_VERSION" \ > "$CHART_UPDATE_JSON" python3 - < "$DIFF_JSON" # 3) breaking_change_check # FROM_VERSION의 custom-values.yaml을 기준으로 실제 사용 key만 breaking 판단 CUSTOM_VALUES_PATH="$CATALOG_ROOT/manifests/helm/$CHART/$FROM_VERSION/custom-values.yaml" CUSTOM_VALUES_ARG="" if [[ -f "$CUSTOM_VALUES_PATH" ]]; then CUSTOM_VALUES_ARG="--custom-values $CUSTOM_VALUES_PATH" fi python3 "$UPDATE_CATALOG_ROOT/skills/breaking_change_check/scripts/run.py" \ --diff-file "$DIFF_JSON" \ $CUSTOM_VALUES_ARG \ > "$BREAKING_JSON" python3 - < "$UPGRADE_DOC_JSON" python3 - < "$PR_JSON" # python3 - <