diff --git a/ci/build-wheel.sh b/ci/build-wheel.sh index 4936dd9..b5dd50d 100755 --- a/ci/build-wheel.sh +++ b/ci/build-wheel.sh @@ -25,6 +25,7 @@ PY_ABI_THREAD=$($PYTHON -c "import sysconfig; print(sysconfig.get_config_var('ab IS_CONDA=$([ -n "$CONDA_EXE" ] && echo "1") IS_MINGW=$([[ $PY_PLATFORM == mingw* ]] && echo "1") +IS_WINDOWS=$([[ $PY_PLATFORM == win* ]] && echo "1") PYTHON_TAG=cp$PY_VERSION_NODOT if [ "$IS_CONDA" == "1" ]; then @@ -142,6 +143,9 @@ _build_wheel () { # Do not export UV_SYSTEM_PYTHON to avoid conflict with uv in # cibuildwheel on macOS and Windows unset UV_SYSTEM_PYTHON + if [ "$CI" == "true" ] && [ "$IS_WINDOWS" == "1" ]; then + export UV_LINK_MODE=copy + fi if [ -e "$HOME/bin/cibuildwheel" ]; then "$HOME/bin/cibuildwheel" "$args" else @@ -156,7 +160,7 @@ NORMALIZED_NAME=$(echo "$NAME" | tr '[:upper:]' '[:lower:]' | tr '-' '_') VERSION=$(_bump_my_version show current_version) if [ -z "$VERSION" ]; then if [ -d src ]; then - FILENAME=src/$NAME/__init__.py + FILENAME=src/$NORMALIZED_NAME/__init__.py else FILENAME=$NAME/__init__.py fi @@ -164,9 +168,9 @@ if [ -z "$VERSION" ]; then fi if [ -z "$VERSION" ]; then NAME=$(echo "$NAME" | awk -F- '{print $2}') - NORMALIZED_NAME=$(echo "$NAME" | tr '[:upper:]' '[:lower:]') + NORMALIZED_NAME=$(echo "$NAME" | tr '[:upper:]' '[:lower:]' | tr '-' '_') if [ -d src ]; then - FILENAME=src/$NAME/__init__.py + FILENAME=src/$NORMALIZED_NAME/__init__.py else FILENAME=$NAME/__init__.py fi @@ -184,7 +188,7 @@ echo "::endgroup::" mkdir -p wheelhouse >/dev/null DIRTY=$(_bump_my_version show scm_info.dirty) FILEMASK="$NORMALIZED_NAME-$NORMALIZED_VERSION" -FILEEXISTS=$(ls "wheelhouse/$FILEMASK.tar.gz" 2>/dev/null || echo '') +FILEEXISTS=$(find "wheelhouse/$FILEMASK.tar.gz" 2>/dev/null || echo '') if [ "$DIRTY" == "True" ] || [ -z "$FILEEXISTS" ]; then echo "::group::Build sdist" _build_sdist @@ -193,7 +197,7 @@ fi echo "::group::Build wheel(s)" if [ "$BUILD_TAG" == "$BUILD_TAG_DEFAULT" ]; then FILEMASK="$NORMALIZED_NAME-$NORMALIZED_VERSION-$PYTHON_TAG-$PYTHON_TAG$PY_ABI_THREAD-$PLATFORM_TAG_MASK" - FILEEXISTS=$(ls "wheelhouse/$FILEMASK.whl" 2>/dev/null || echo '') + FILEEXISTS=$(find "wheelhouse/$FILEMASK.whl" 2>/dev/null || echo '') if [ "$DIRTY" == "True" ] || [ -z "$FILEEXISTS" ]; then _build_wheel --only "$BUILD_TAG_DEFAULT" fi @@ -207,11 +211,11 @@ echo "::endgroup::" if [ "$INSTALL" == "1" ]; then echo "::group::Install $NORMALIZED_NAME $NORMALIZED_VERSION" if [[ $PY_PLATFORM == mingw* ]]; then - pip install "$NORMALIZED_NAME==$NORMALIZED_VERSION" -f wheelhouse \ - --no-deps --no-index --force-reinstall + PIP_COMMAND="pip install --force-reinstall" else - uv pip install "$NORMALIZED_NAME==$NORMALIZED_VERSION" -f wheelhouse \ - --no-build --no-deps --no-index --prerelease=allow --reinstall + PIP_COMMAND="uv pip install --no-build --prerelease=allow --reinstall" fi + $PIP_COMMAND "$NORMALIZED_NAME==$NORMALIZED_VERSION" -f wheelhouse \ + --no-deps --no-index echo "::endgroup::" fi