From 49fab9b06dbef776c63493755153570f3b519183 Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Wed, 1 Oct 2025 21:54:24 -0700 Subject: [PATCH 1/7] Updated changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c4342f4b..a03700b17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## v2.12.0b1 - 2025-10-01 + ### Added - AsyncIO Producer (experimental): Introduces `confluent_kafka.aio.AIOProducer` for From d923acfed61f2df56518b9746f85685725cccdfb Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Wed, 1 Oct 2025 23:13:57 -0700 Subject: [PATCH 2/7] Removing tag boundaries to enable wheel builds without tags for this branch --- .semaphore/semaphore.yml | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index f3f8956c3..05b5ba5e5 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -15,8 +15,6 @@ global_job_config: - mkdir artifacts blocks: - name: "Wheels: OSX x64 - Python 3.7-3.12" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -35,8 +33,6 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: OSX x64 - Python 3.13" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -59,8 +55,6 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/ - name: "Wheels: OSX arm64 - Python 3.8-3.12" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -81,8 +75,6 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: OSX arm64 - Python 3.13" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -107,8 +99,6 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/ - name: "Wheels: Linux arm64" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -126,8 +116,6 @@ blocks: - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: Linux x64" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -145,8 +133,6 @@ blocks: - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: Windows" - run: - when: "tag =~ '.*'" dependencies: [] task: agent: @@ -376,8 +362,6 @@ blocks: # Cleanup - cd "${PROJECT_ROOT}/tests/docker" && docker-compose -f docker-compose.ducktape.yml down -v || true - name: "Packaging" - run: - when: "tag =~ '.*'" dependencies: - "Wheels: OSX x64 - Python 3.7-3.12" - "Wheels: OSX x64 - Python 3.13" @@ -396,11 +380,11 @@ blocks: - artifact pull workflow artifacts - cd artifacts - ls *.tgz |xargs -n1 tar -xvf - - tar cvf confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz wheelhouse/ + - tar cvf confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz wheelhouse/ - ls -la - - sha256sum confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz + - sha256sum confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz - cd .. - - artifact push project artifacts/confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz --destination confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz + - artifact push project artifacts/confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz --destination confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz - echo Thank you after_pipeline: From de9e53ae0fa2f03e935406dd444b2ea5f034579f Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Wed, 1 Oct 2025 23:31:15 -0700 Subject: [PATCH 3/7] Attempt to fix broken venv in wheel builds --- requirements/requirements-tests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index e9cc5ca35..84a22bf2a 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -1,5 +1,5 @@ # core test requirements -urllib3<3 +urllib3 flake8 orjson pytest From b3eb525ff87c7ab0cf31ee459b2329e08270e891 Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Wed, 1 Oct 2025 23:39:10 -0700 Subject: [PATCH 4/7] Changing to lower dep spot test for wheels --- requirements/requirements-tests.txt | 2 +- tools/wheels/build-wheels.bat | 2 +- tools/wheels/build-wheels.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index 84a22bf2a..e9cc5ca35 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -1,5 +1,5 @@ # core test requirements -urllib3 +urllib3<3 flake8 orjson pytest diff --git a/tools/wheels/build-wheels.bat b/tools/wheels/build-wheels.bat index ddb1bd15b..0fcfaa2a9 100644 --- a/tools/wheels/build-wheels.bat +++ b/tools/wheels/build-wheels.bat @@ -16,7 +16,7 @@ echo on set CIBW_BUILD=cp37-%BW_ARCH% cp38-%BW_ARCH% cp39-%BW_ARCH% cp310-%BW_ARCH% cp311-%BW_ARCH% cp312-%BW_ARCH% cp313-%BW_ARCH% set CIBW_BEFORE_BUILD=python -m pip install delvewheel==1.1.4 set CIBW_TEST_REQUIRES=pytest -set CIBW_TEST_COMMAND=pytest {project}\tests\test_Producer.py +set CIBW_TEST_COMMAND=pytest {project}\tests\test_error.py rem set CIBW_BUILD_VERBOSITY=3 set include=%cd%\%DEST%\build\native\include set lib=%cd%\%DEST%\build\native\lib\win\%ARCH%\win-%ARCH%-Release\v142 diff --git a/tools/wheels/build-wheels.sh b/tools/wheels/build-wheels.sh index d9af094c9..f5c7b4d98 100755 --- a/tools/wheels/build-wheels.sh +++ b/tools/wheels/build-wheels.sh @@ -10,7 +10,7 @@ this_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" export CIBW_SKIP="pp* cp27-* cp35-* cp36-* *i686 *musllinux* $CIBW_SKIP" # Run a simple test suite export CIBW_TEST_REQUIRES="pytest" -export CIBW_TEST_COMMAND="pytest {project}/tests/test_Producer.py" +export CIBW_TEST_COMMAND="pytest {project}/tests/test_error.py" export CIBW_MANYLINUX_X86_64_IMAGE="manylinux_2_28" export CIBW_MANYLINUX_AARCH64_IMAGE="manylinux_2_28" @@ -51,7 +51,7 @@ esac $this_dir/install-librdkafka.sh $librdkafka_version dest -install_pkgs=cibuildwheel==$cibuildwheel_version +install_pkgs=cibuildwheel==$cibuildwheel_version urllib3 # Ensure we have pip installed if using uv uv pip install pip || true From bff276f56a1fdbf2cb10d08a479a18b5710927f0 Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Wed, 1 Oct 2025 23:54:34 -0700 Subject: [PATCH 5/7] Removed install typo --- tools/wheels/build-wheels.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/wheels/build-wheels.sh b/tools/wheels/build-wheels.sh index f5c7b4d98..bf6e0e21f 100755 --- a/tools/wheels/build-wheels.sh +++ b/tools/wheels/build-wheels.sh @@ -51,7 +51,7 @@ esac $this_dir/install-librdkafka.sh $librdkafka_version dest -install_pkgs=cibuildwheel==$cibuildwheel_version urllib3 +install_pkgs=cibuildwheel==$cibuildwheel_version # Ensure we have pip installed if using uv uv pip install pip || true From 677b6268a3bdb02cb316122ea2483b698ea46f6f Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Thu, 2 Oct 2025 00:26:05 -0700 Subject: [PATCH 6/7] Attempt to move linux arm build to use build-wheels pattern --- .semaphore/semaphore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 05b5ba5e5..141e0595d 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -112,7 +112,7 @@ blocks: jobs: - name: Build commands: - - ./tools/build-manylinux.sh "${LIBRDKAFKA_VERSION#v}" + - ./tools/wheels/build-wheels.sh "${LIBRDKAFKA_VERSION#v}" wheelhouse - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: Linux x64" From 5cdf21e348af2da936569f808c4346266f1d137f Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Thu, 2 Oct 2025 01:46:01 -0700 Subject: [PATCH 7/7] Reverted hardcoded builds --- .semaphore/semaphore.yml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 141e0595d..fc76fd059 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -15,6 +15,8 @@ global_job_config: - mkdir artifacts blocks: - name: "Wheels: OSX x64 - Python 3.7-3.12" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -33,6 +35,8 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: OSX x64 - Python 3.13" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -55,6 +59,8 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/ - name: "Wheels: OSX arm64 - Python 3.8-3.12" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -75,6 +81,8 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: OSX arm64 - Python 3.13" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -99,6 +107,8 @@ blocks: - tar -czf wheelhouse-macOS-${ARCH}-py313.tgz wheelhouse - artifact push workflow wheelhouse-macOS-${ARCH}-py313.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}-py313.tgz/ - name: "Wheels: Linux arm64" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -116,6 +126,8 @@ blocks: - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: Linux x64" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -133,6 +145,8 @@ blocks: - tar -czf wheelhouse-linux-${ARCH}.tgz wheelhouse - artifact push workflow wheelhouse-linux-${ARCH}.tgz --destination artifacts/wheels-${OS_NAME}-${ARCH}.tgz/ - name: "Wheels: Windows" + run: + when: "tag =~ '.*'" dependencies: [] task: agent: @@ -362,6 +376,8 @@ blocks: # Cleanup - cd "${PROJECT_ROOT}/tests/docker" && docker-compose -f docker-compose.ducktape.yml down -v || true - name: "Packaging" + run: + when: "tag =~ '.*'" dependencies: - "Wheels: OSX x64 - Python 3.7-3.12" - "Wheels: OSX x64 - Python 3.13" @@ -380,11 +396,11 @@ blocks: - artifact pull workflow artifacts - cd artifacts - ls *.tgz |xargs -n1 tar -xvf - - tar cvf confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz wheelhouse/ + - tar cvf confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz wheelhouse/ - ls -la - - sha256sum confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz + - sha256sum confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz - cd .. - - artifact push project artifacts/confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz --destination confluent-kafka-python-wheels-v2.12.0b1-dev1-${SEMAPHORE_WORKFLOW_ID}.tgz + - artifact push project artifacts/confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz --destination confluent-kafka-python-wheels-${SEMAPHORE_GIT_TAG_NAME}-${SEMAPHORE_WORKFLOW_ID}.tgz - echo Thank you after_pipeline: