From 2c60990710f0086f55c8bc99bd008bdba72edfe7 Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Fri, 31 Oct 2025 06:44:14 -0700 Subject: [PATCH] fix: set UV_INDEX_STRATEGY=unsafe-best-match for multiple indexes When using multiple indexes (test.pypi + PyPI), uv uses first-index-wins strategy by default to prevent dependency confusion. This causes it to try fetching all packages from test.pypi first, which fails. Setting UV_INDEX_STRATEGY=unsafe-best-match tells uv to check all indexes for the best version match, allowing it to get common packages from PyPI and RC versions from test.pypi. --- .github/actions/setup-runner/action.yml | 1 + .github/workflows/pre-commit.yml | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-runner/action.yml b/.github/actions/setup-runner/action.yml index 52a3c4643..eb925183e 100644 --- a/.github/actions/setup-runner/action.yml +++ b/.github/actions/setup-runner/action.yml @@ -29,6 +29,7 @@ runs: env: UV_INDEX_URL: ${{ steps.client-config.outputs.uv-index-url }} UV_EXTRA_INDEX_URL: ${{ steps.client-config.outputs.uv-extra-index-url }} + UV_INDEX_STRATEGY: ${{ steps.client-config.outputs.uv-index-url && 'unsafe-best-match' || '' }} run: | echo "Updating project dependencies via uv sync" uv sync --all-groups diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index fed2db800..1e0a6284b 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -57,11 +57,11 @@ jobs: run: | if [ -n "${{ steps.client-config-precommit.outputs.uv-index-url }}" ]; then echo "UV_INDEX_URL=${{ steps.client-config-precommit.outputs.uv-index-url }}" >> $GITHUB_ENV - echo "Setting UV_INDEX_URL to ${{ steps.client-config-precommit.outputs.uv-index-url }}" - fi - if [ -n "${{ steps.client-config-precommit.outputs.uv-extra-index-url }}" ]; then echo "UV_EXTRA_INDEX_URL=${{ steps.client-config-precommit.outputs.uv-extra-index-url }}" >> $GITHUB_ENV + echo "UV_INDEX_STRATEGY=unsafe-best-match" >> $GITHUB_ENV + echo "Setting UV_INDEX_URL to ${{ steps.client-config-precommit.outputs.uv-index-url }}" echo "Setting UV_EXTRA_INDEX_URL to ${{ steps.client-config-precommit.outputs.uv-extra-index-url }}" + echo "Setting UV_INDEX_STRATEGY to unsafe-best-match" fi - name: Run pre-commit @@ -135,6 +135,7 @@ jobs: env: UV_INDEX_URL: ${{ steps.client-config.outputs.uv-index-url }} UV_EXTRA_INDEX_URL: ${{ steps.client-config.outputs.uv-extra-index-url }} + UV_INDEX_STRATEGY: ${{ steps.client-config.outputs.uv-index-url && 'unsafe-best-match' || '' }} run: | uv sync --group dev --group type_checking