llama-stack-mirror/scripts/uv-run-with-index.sh
Ashwin Bharambe 451f1e5fd2 refactor: smart UV index wrapper for all pre-commit hooks
Replace isolated UV configuration with unified wrapper script that:
- Detects release branches (release-X.Y.x pattern)
- Checks upstream target branch for feature branches
- Supports LLAMA_STACK_RELEASE_MODE env var for local testing
- Wraps all uv commands (lock, run) in local hooks

When on/targeting release branches, automatically sets:
- UV_EXTRA_INDEX_URL=https://test.pypi.org/simple/
- UV_INDEX_STRATEGY=unsafe-best-match

For local testing on feature branches targeting release branches:
  LLAMA_STACK_RELEASE_MODE=true pre-commit run --all-files

This ensures RC versions can be resolved from test.pypi in both
CI (on actual release branches) and local development.
2025-10-31 08:14:20 -07:00

43 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
set -euo pipefail
# Detect current branch and target branch
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
# For feature branches, check what branch they're merging into
TARGET_BRANCH=$(git rev-parse --abbrev-ref HEAD@{upstream} 2>/dev/null | sed 's|origin/||' || echo "")
echo "[uv-run-with-index] Current branch: '$BRANCH'" >&2
echo "[uv-run-with-index] Target branch: '$TARGET_BRANCH'" >&2
echo "[uv-run-with-index] PWD: $PWD" >&2
echo "[uv-run-with-index] Command: uv $*" >&2
# Check if on a release branch or targeting one, or LLAMA_STACK_RELEASE_MODE is set
IS_RELEASE=false
if [[ "$BRANCH" =~ ^release-[0-9]+\.[0-9]+\.x$ ]]; then
echo "[uv-run-with-index] ✓ On release branch: $BRANCH" >&2
IS_RELEASE=true
elif [[ "$TARGET_BRANCH" =~ ^release-[0-9]+\.[0-9]+\.x$ ]]; then
echo "[uv-run-with-index] ✓ Targeting release branch: $TARGET_BRANCH" >&2
IS_RELEASE=true
elif [[ "${LLAMA_STACK_RELEASE_MODE:-}" == "true" ]]; then
echo "[uv-run-with-index] ✓ LLAMA_STACK_RELEASE_MODE=true" >&2
IS_RELEASE=true
else
echo "[uv-run-with-index] ✗ Not a release branch" >&2
fi
# On release branches, use test.pypi as extra index for RC versions
if [[ "$IS_RELEASE" == "true" ]]; then
echo "[uv-run-with-index] Setting UV_EXTRA_INDEX_URL=https://test.pypi.org/simple/" >&2
export UV_EXTRA_INDEX_URL="https://test.pypi.org/simple/"
export UV_INDEX_STRATEGY="unsafe-best-match"
fi
# Run uv with all arguments passed through
exec uv "$@"