fix: manylinux Docker container for Linux wheel builds#5
Closed
spomichter wants to merge 5 commits intomainfrom
Closed
fix: manylinux Docker container for Linux wheel builds#5spomichter wants to merge 5 commits intomainfrom
spomichter wants to merge 5 commits intomainfrom
Conversation
- Rename binary from custom_callback_viewer to dimos-viewer - Remove unused custom_callback_app binary - Add pyproject.toml with maturin build backend (bindings=bin) - Add dimos_viewer Python package with main(), launch(), _find_viewer_binary() - Add __main__.py for 'python -m dimos_viewer' support - Add comprehensive Python tests (wrapper, binary, install) - Replace build-viewer.yml with build-and-publish.yml CI workflow - Build matrix: linux-x64, linux-arm64, macos-arm64 - Python versions: 3.10, 3.11, 3.12, 3.13 - Rust tests + Python tests - PyPI publish on tag push (v*) via maturin upload - GitHub Release with wheel artifacts - Version 0.1.0 (independent semver, based on Rerun 0.30.0-alpha.1) - Add README with usage, platform support, and versioning docs Closes DIM-646 (dimos-viewer side)
- Version tracks Rerun base: 0.30.0a1 (based on Rerun 0.30.0-alpha.1) - Remove comms/ (689 lines TCP protocol, unused) - Remove panel.rs (demo UI wrapper, unused) - Remove app.rs (demo app binary, already removed from Cargo.toml) - lib.rs now only exports interaction module
Rework CI workflow to follow Rerun's patterns: - Renamed build-and-publish.yml → build-viewer.yml - Added push-to-main trigger alongside PR and tag triggers - Simplified wheel build: removed redundant --interpreter flag (bindings='bin' produces py3-none universal wheels) - Added concurrency group to cancel stale runs - Added workflow_dispatch for manual triggers - Cleaner job structure: check → build-wheel → test-wheel → publish → release - Uses GitHub Artifacts for wheel storage (not GCS) - Publish to PyPI via maturin upload on v* tags only Rerun's reusable_build_and_upload_wheels.yml cannot be called directly because it is tightly coupled to building rerun_py (uses pixi, GCS sccache, rerun-cli download, and rerun_py-specific feature flags). Instead, this workflow follows the same structural patterns: platform matrix, manylinux_2_28 compat, artifact upload per platform.
Matches Rerun's ci_docker approach: - Linux x64: quay.io/pypa/manylinux_2_28_x86_64 container - System deps via dnf (not apt) inside container - Rust installed inside container (not pre-installed) - maturin build with -i python3 for interpreter discovery - Shell defaults: bash --noprofile --norc -euo pipefail - 60 min timeout per job (matches Rerun) - Removed linux-arm64 (no arm runners available yet) - macOS arm64: native runner (unchanged, already working) Fixes: - linux-x64: GLIBC version compliance (was linking 2.29-2.35) - linux-arm64: removed (was failing on interpreter discovery)
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the CI failures from v0.30.0a1 tag:
quay.io/pypa/manylinux_2_28_x86_64container (matches Rerun's approach)