From f927fb561c3501d94024eb7da6bf9f8d1d5f26a4 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Wed, 7 Oct 2026 21:20:16 +1300 Subject: [PATCH] ci: stop building and uploading the legacy mavsdk name The last legacy 'mavsdk' release from this repo was 3.17.4. The name now belongs to the native binding, which already has 4.0.x releases on PyPI. Building it on the next tag would produce mavsdk-4.0.5-py3-none-*.whl. Those filenames don't clash with the native cp38-abi3 wheels, so --skip-existing would not skip them, and PyPI would add them to the native mavsdk 4.0.5 release. On platforms the native binding doesn't cover (armv6l, armv7l), 'pip install mavsdk' would then resolve to the gRPC wrapper. --- .github/workflows/main.yml | 22 +++++----------------- setup.py | 8 ++++---- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1475c999..ebf6a95a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,12 +1,11 @@ name: Check and PyPi Upload -# Tagged builds publish this project under two names: "mavsdk-grpc" (the -# going-forward name) and "mavsdk" (the legacy name, one last time, carrying a -# rename warning). See setup.py for how the two builds differ. +# Tagged builds publish this project as "mavsdk-grpc". # -# NOTE: the token in TWINE_PASSWORD must be account-scoped for the release that -# first creates "mavsdk-grpc" on PyPI -- a project-scoped token cannot create a -# new project. It can be swapped back to project-scoped tokens afterwards. +# The legacy "mavsdk" name must NOT be built or uploaded from here anymore: its +# last release from this repo was 3.17.4, and the name now belongs to the native +# binding. Uploading would add gRPC wheels to the native binding's releases. +# The token in TWINE_PASSWORD should therefore be scoped to "mavsdk-grpc" only. on: push: @@ -43,13 +42,9 @@ jobs: python3 -m pip install -r requirements.txt -r requirements-dev.txt -r requirements-docs.txt python3 -m pip install "setuptools<77" auditwheel twine - # Built twice: once as "mavsdk-grpc" (the going-forward name) and once as - # "mavsdk" (the legacy name, carrying a rename warning). See setup.py. - name: Create wheel run: | MAVSDK_DIST_NAME=mavsdk-grpc python3 setup.py bdist_wheel - rm -rf build mavsdk.egg-info - MAVSDK_DIST_NAME=mavsdk python3 setup.py bdist_wheel mkdir wheelhouse export PATH=$PATH:$HOME/.local/bin auditwheel repair --plat manylinux2014_x86_64 dist/*.whl @@ -121,8 +116,6 @@ jobs: run: | export MAVSDK_SERVER_ARCH=${{ matrix.arch }} MAVSDK_DIST_NAME=mavsdk-grpc python3 setup.py bdist_wheel - rm -rf build mavsdk.egg-info - MAVSDK_DIST_NAME=mavsdk python3 setup.py bdist_wheel ls dist/*any.whl | sed -e 'p;s/any/${{ matrix.pypi_arch }}/' | xargs -n2 mv - name: Check the artifacts @@ -176,8 +169,6 @@ jobs: - name: Create wheel run: | MAVSDK_DIST_NAME=mavsdk-grpc python setup.py bdist_wheel - rm -rf build mavsdk.egg-info - MAVSDK_DIST_NAME=mavsdk python setup.py bdist_wheel export PATH="$(python -m site --user-base)/bin:$PATH" delocate-wheel -w wheelhouse -v dist/*.whl ls wheelhouse/*any.whl | sed -e 'p;s/any/macosx_${{ matrix.wheel_arch }}/' | xargs -n2 mv @@ -240,9 +231,6 @@ jobs: $env:MAVSDK_SERVER_ARCH = "${{ matrix.arch }}" $env:MAVSDK_DIST_NAME = "mavsdk-grpc" python3 setup.py bdist_wheel - Remove-Item -Recurse -Force build, mavsdk.egg-info -ErrorAction SilentlyContinue - $env:MAVSDK_DIST_NAME = "mavsdk" - python3 setup.py bdist_wheel Dir "dist/" | rename-item -NewName {$_.name -replace '-any.whl','-${{ matrix.wheel_arch }}.whl'} - name: Check the artifacts diff --git a/setup.py b/setup.py index d829433e..347bfd3f 100644 --- a/setup.py +++ b/setup.py @@ -45,10 +45,10 @@ def parse_long_description(): # This project is published under two names during the transition to MAVSDK v4: # # - "mavsdk-grpc" is the going-forward name of this gRPC-based wrapper. -# - "mavsdk" is the legacy name. It is being handed over to the new native -# binding that lives in the main MAVSDK repository, and is published from -# here one last time (carrying a warning) so that users get a heads-up -# before `pip install mavsdk` starts resolving to a different API. +# - "mavsdk" is the legacy name. It has been handed over to the new native +# binding that lives in the main MAVSDK repository. Its last release from +# here was 3.17.4 (carrying a warning). Do not publish it from here again: +# PyPI would add the wheels to the native binding's releases. # # The legacy name is the one that needs opting into, so that a plain build # produces the going-forward package.