From 3e26fd7e9df0bdc48588d0cb4040b596e5aee3ef Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 22 Jul 2026 14:39:31 +0200 Subject: [PATCH 1/4] [ci] minimal refactor to use cibuildwheel --- .github/workflows/python_wheel_build.yml | 33 +++++++----------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index 3cd84480208ad..226e87fda3011 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -54,31 +54,16 @@ on: jobs: Build_Wheel: runs-on: macos-26 + strategy: + fail-fast: false + matrix: + target: [cp310-macosx_x86_64, cp311-macosx_x86_64, cp312-macosx_x86_64, cp313-macosx_x86_64, cp314-macosx_x86_64, + cp310-macosx_arm64, cp311-macosx_arm64, cp312-macosx_arm64, cp313-macosx_arm64, cp314-macosx_arm64] + name: ${{ matrix.target }} steps: - - name: Checkout the official ROOT repo - uses: actions/checkout@v6 - with: - path: root -# ref: v${{ inputs.major }}-${{ inputs.minor }}-${{ inputs.patch }} - - name: Make wheel + - uses: actions/checkout@v6 + - uses: ./.github/workflows/cibuildwheel-impl env: MACOSX_DEPLOYMENT_TARGET: 26.5 - run: | - mkdir wheel_creation && cd wheel_creation - cp -r ../root . - python3 -m venv root_build_env - source root_build_env/bin/activate - pip install --upgrade pip setuptools wheel build - cd root - pip install -r requirements.txt - python3 -m build --wheel - pip install delocate - mkdir fixed_wheels - delocate-wheel -v -w fixed_wheels/ dist/*.whl - - - name: Upload_wheel - uses: actions/upload-artifact@v6 with: - name: Wheel upload - path: /Users/runner/work/root/root/wheel_creation/root/fixed_wheels/*.whl - if-no-files-found: error + build-tag: ${{ matrix.target }} From 2c1dcf0695ac9d468d968d29b3300691ed89688b Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 22 Jul 2026 15:03:08 +0200 Subject: [PATCH 2/4] fixup! [ci] minimal refactor to use cibuildwheel --- .github/workflows/python_wheel_build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index 226e87fda3011..9b291e20dd05f 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -50,6 +50,8 @@ on: - "30" required: true default: "00" + pull_request: + types: [opened, synchronize, reopened] jobs: Build_Wheel: @@ -57,8 +59,7 @@ jobs: strategy: fail-fast: false matrix: - target: [cp310-macosx_x86_64, cp311-macosx_x86_64, cp312-macosx_x86_64, cp313-macosx_x86_64, cp314-macosx_x86_64, - cp310-macosx_arm64, cp311-macosx_arm64, cp312-macosx_arm64, cp313-macosx_arm64, cp314-macosx_arm64] + target: [cp310-macosx_arm64, cp311-macosx_arm64, cp312-macosx_arm64, cp313-macosx_arm64, cp314-macosx_arm64] name: ${{ matrix.target }} steps: - uses: actions/checkout@v6 From 4364d55968c7e938e43cf1d2bfd49a600bc83f3a Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 22 Jul 2026 16:56:00 +0200 Subject: [PATCH 3/4] [ci] test the produced macos wheels --- .github/workflows/python_wheel_build.yml | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index 9b291e20dd05f..a0cbca5086fa2 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -68,3 +68,40 @@ jobs: MACOSX_DEPLOYMENT_TARGET: 26.5 with: build-tag: ${{ matrix.target }} + + Test_Wheels: + needs: Build_Wheel + runs-on: macos-26 + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + name: test-wheel-cp${{ matrix.python-version }} + steps: + - uses: actions/checkout@v6 + - name: Download produced wheels + uses: actions/download-artifact@v4 + with: + path: wheels + merge-multiple: true + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install produced wheel + run: | + ls -R wheels + PY_VER=$(python -c "import sys; print(f'cp{sys.version_info.major}{sys.version_info.minor}')") + WHEEL=$(ls wheels/*${PY_VER}*macosx*.whl | head -n 1) + echo "Python version: ${PY_VER}, installing wheel: ${WHEEL}" + pip install "$WHEEL" + + - name: Install tutorials dependencies + run: | + python -m pip install --no-cache-dir -r test/wheels/requirements-ci.txt + + - name: Run tutorials + run: | + pytest -vv --verbosity="4" -rF test/wheels From c2faa8dbe5ae64c5a133bc81c2ddc08d0dcebeda Mon Sep 17 00:00:00 2001 From: Silia Taider Date: Wed, 22 Jul 2026 17:02:14 +0200 Subject: [PATCH 4/4] fixup! [ci] test the produced macos wheels --- .github/workflows/python_wheel_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_wheel_build.yml b/.github/workflows/python_wheel_build.yml index a0cbca5086fa2..b7b1822670be5 100644 --- a/.github/workflows/python_wheel_build.yml +++ b/.github/workflows/python_wheel_build.yml @@ -69,7 +69,7 @@ jobs: with: build-tag: ${{ matrix.target }} - Test_Wheels: + Test_Wheels: needs: Build_Wheel runs-on: macos-26 strategy: