eclipse-zenoh: Add version 1.10.1 #11
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2026 The RISE Project | |
| # SPDX-License-Identifier: MIT | |
| --- | |
| # This workflow is based on the `build-linux` job of | |
| # https://github.com/eclipse-zenoh/zenoh-python/blob/1.10.0/.github/workflows/release.yml | |
| name: Build eclipse-zenoh wheels (riscv64) | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version glob to (re)build; empty builds every version of docs/packages/eclipse-zenoh.yaml not released yet' | |
| required: false | |
| default: '' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-eclipse-zenoh.yml' | |
| - 'docs/packages/eclipse-zenoh.yaml' | |
| push: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/build-eclipse-zenoh.yml' | |
| - 'docs/packages/eclipse-zenoh.yaml' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| env: | |
| MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 | |
| jobs: | |
| setup: | |
| uses: $/.github/workflows/_setup.yml | |
| with: | |
| package: eclipse-zenoh | |
| version: ${{ inputs.version }} | |
| build_wheels: | |
| needs: [setup] | |
| if: needs.setup.outputs.versions != '[]' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ${{ fromJSON(needs.setup.outputs.versions) }} | |
| name: Build eclipse-zenoh ${{ matrix.version }} cp39-abi3-manylinux_riscv64 | |
| runs-on: ubuntu-24.04-riscv | |
| timeout-minutes: 720 | |
| env: | |
| ECLIPSE_ZENOH_VERSION: ${{ matrix.version }} | |
| steps: | |
| - name: Checkout zenoh-python ${{ env.ECLIPSE_ZENOH_VERSION }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: eclipse-zenoh/zenoh-python | |
| ref: ${{ env.ECLIPSE_ZENOH_VERSION }} | |
| persist-credentials: false | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0 | |
| with: | |
| output-dir: wheelhouse/ | |
| env: | |
| # pyo3's abi3-py39 feature makes this one wheel; it is built on cp39, | |
| # the oldest interpreter its tag claims, and re-tested on the newer | |
| # ones via find_compatible_wheel. cp314t is dropped: pyo3 0.25.1 | |
| # predates CPython 3.14. musllinux is dropped: rustup.rs ships no | |
| # riscv64 musl toolchain. | |
| CIBW_BUILD: >- | |
| cp39-manylinux_riscv64 cp312-manylinux_riscv64 | |
| cp313-manylinux_riscv64 cp314-manylinux_riscv64 | |
| CIBW_MANYLINUX_RISCV64_IMAGE: ${{ env.MANYLINUX_RISCV64_IMAGE }} | |
| # zenoh-python ships no [tool.cibuildwheel], so the Rust toolchain its | |
| # maturin backend needs is installed in-container here; the version is | |
| # the one rust-toolchain.toml pins. | |
| CIBW_BEFORE_ALL_LINUX: >- | |
| curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
| CIBW_ENVIRONMENT_LINUX: >- | |
| PATH="$PATH:$HOME/.cargo/bin" | |
| PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ | |
| CIBW_TEST_REQUIRES: pytest fixtures | |
| # The stubs are what tests/stubs_check.py reads; staged without the | |
| # package's .py files so the installed wheel still wins the import. | |
| CIBW_TEST_SOURCES: >- | |
| tests zenoh/__init__.pyi zenoh/ext.pyi zenoh/handlers.pyi | |
| zenoh/shm.pyi | |
| # tests/examples_check.py is left out: it drives ~30 concurrent example | |
| # processes over multicast scouting, which cross-talks between jobs on | |
| # a shared runner. | |
| CIBW_TEST_COMMAND: >- | |
| python tests/stubs_check.py && | |
| python -m pytest -v | |
| tests/test_serializer.py | |
| tests/test_cancellation_token.py | |
| tests/test_session.py | |
| tests/test_timestamp_stack.py | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: eclipse-zenoh-${{ env.ECLIPSE_ZENOH_VERSION }}-cp39-abi3-manylinux_riscv64 | |
| path: wheelhouse/*.whl | |
| if-no-files-found: error | |
| publish: | |
| name: Publish eclipse-zenoh ${{ matrix.version }} | |
| needs: [setup, build_wheels] | |
| if: needs.setup.outputs.versions != '[]' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ${{ fromJSON(needs.setup.outputs.versions) }} | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| uses: $/.github/workflows/_publish-wheel.yml | |
| secrets: | |
| app-private-key: ${{ secrets.RISEPROJECT_APP_PRIVATE_KEY }} | |
| with: | |
| artifact-pattern: eclipse-zenoh-${{ matrix.version }}-*-manylinux_riscv64 |