refactor: move UV index config into pre-commit hook

Make uv-lock pre-commit hook smart about release branches by wrapping it
in a script that detects release branches and sets UV_EXTRA_INDEX_URL.

This allows the same pre-commit config to work locally and in CI without
special environment variable setup in workflows.

Changes:
- Add scripts/pre-commit-uv-lock.sh wrapper that detects release branches
- Move uv-lock from astral-sh/uv-pre-commit to local hook using wrapper
- Remove UV env var setup from pre-commit workflow (hook handles it)
- Regenerate uv.lock with test.pypi as extra index (not primary)
This commit is contained in:
Ashwin Bharambe 2025-10-31 07:37:20 -07:00
parent 8ebb9195a4
commit 83176acd88
4 changed files with 830 additions and 847 deletions

22
scripts/pre-commit-uv-lock.sh Executable file
View file

@ -0,0 +1,22 @@
#!/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
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "")
# On release branches, use test.pypi as extra index for RC versions
if [[ "$BRANCH" =~ ^release-[0-9]+\.[0-9]+\.x$ ]]; then
echo "Detected release branch: $BRANCH"
echo "Setting UV_EXTRA_INDEX_URL=https://test.pypi.org/simple/"
export UV_EXTRA_INDEX_URL="https://test.pypi.org/simple/"
export UV_INDEX_STRATEGY="unsafe-best-match"
fi
# Run uv lock
exec uv lock "$@"