Merged
Conversation
836e2ce to
6265cef
Compare
Collaborator
Author
|
I will address this tomorrow morning. |
Add conda/micromamba-based GitHub Actions workflows for building and testing ml-metadata wheels. Uses GCC 8.5.0 to match manylinux2014 compatibility, supports Python 3.9-3.11, and includes automated PyPI publishing.
- Bazel: Raise minimum to 6.5.0 and update repo version - CI: Use Bazel 6.5.0 in conda-build/test GitHub Actions - Docker: Switch manylinux image to bazel-6.5.0 tag - Toolchain: Use devtoolset-10 for wheel builds - Scope: Build/CI-only; no MLMD runtime or API changes Motivation: align CI/local builds with Bazel 6.5.0 for stability and modernize the wheel build toolchain.
…lity CMake 3.29+ removed support for CMake < 3.5 syntax, breaking libmysqlclient (mariadb-connector-c v3.0.8) builds. Pin to CMake 3.24.4 to maintain backward compatibility while supporting current toolchains.
Collaborator
Author
|
@aktech I think we should remove |
The upload_to_pypi job is already present in conda-build.yml, which will supersede the Docker-based build.yml workflow.
Collaborator
Author
|
@aktech This is ready to go. Let's merge. |
- Use python -m build instead of setup.py bdist_wheel for PEP 517 compliance - Pin setuptools<69.3 to avoid Metadata-Version 2.4 (PyPI only supports up to 2.3) - Update numpy requirement to >=1.23,<2.0 for Python 3.11 compatibility - Use auditwheel --plat auto for automatic manylinux tag detection
aktech
approved these changes
Jan 23, 2026
vkarampudi
pushed a commit
to vkarampudi/ml-metadata
that referenced
this pull request
Jan 29, 2026
Add conda/mamba CI workflows
vkarampudi
added a commit
that referenced
this pull request
Feb 4, 2026
* feat: Replace Docker builds with conda-based CI workflows Add conda/micromamba-based GitHub Actions workflows for building and testing ml-metadata wheels. Uses GCC 8.5.0 to match manylinux2014 compatibility, supports Python 3.9-3.11, and includes automated PyPI publishing. * build(ci): bump Bazel to 6.5.0 and update manylinux toolchain - Bazel: Raise minimum to 6.5.0 and update repo version - CI: Use Bazel 6.5.0 in conda-build/test GitHub Actions - Docker: Switch manylinux image to bazel-6.5.0 tag - Toolchain: Use devtoolset-10 for wheel builds - Scope: Build/CI-only; no MLMD runtime or API changes Motivation: align CI/local builds with Bazel 6.5.0 for stability and modernize the wheel build toolchain. * fix: Pin CMake to 3.24.4 in Docker build for libmysqlclient compatibility CMake 3.29+ removed support for CMake < 3.5 syntax, breaking libmysqlclient (mariadb-connector-c v3.0.8) builds. Pin to CMake 3.24.4 to maintain backward compatibility while supporting current toolchains. * Fix conda build workflow for PyPI-compatible wheels - Use python -m build instead of setup.py bdist_wheel for PEP 517 compliance - Pin setuptools<69.3 to avoid Metadata-Version 2.4 (PyPI only supports up to 2.3) - Update numpy requirement to >=1.23,<2.0 for Python 3.11 compatibility - Use auditwheel --plat auto for automatic manylinux tag detection * Merge pull request #227 from czgdp1807/de-dock-ci Add conda/mamba CI workflows * Fix: Update libmysqlclient.BUILD * fix: correct mkdocstrings import config for v2.0 compatibility --------- Co-authored-by: Gagandeep Singh <gdp.1807@gmail.com> Co-authored-by: Amit Kumar <dtu.amit@gmail.com>
nsingla
pushed a commit
to nsingla/ml-metadata
that referenced
this pull request
Feb 5, 2026
Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com>
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.
Summary
This PR modernizes the CI pipeline by adding builds with conda/mamba GitHub Actions workflows, enabling builds with better reproducibility and
manylinux2014compatibility. In future, Docker based based,build.ymlandtest.ymlwill be removed.Changes
New Files
ci/environment.yml: Conda environment with GCC 8.5.0, sysroot_linux-64=2.17, and all build/test dependencies.github/workflows/conda-build.yml: Workflow for building manylinux2014 wheels across Python 3.9-3.11.github/workflows/conda-test.yml: Workflow for running pytest tests on built wheelsKey Improvements
environment.ymlreplaces complex Dockerfile configurationTechnical Details
mamba-org/setup-micromamba@v1for environment setupauditwheel repair --plat manylinux2014_x86_64ensures PyPI compatibilityRemoved Dependencies (to-be-done after merging this PR)
Benefits
micromamba env create -f ci/environment.ymlenvironment.ymlfile vs multiple Docker configuration filesmanylinux2014compliance for PyPI distributionTesting
Build workflow produces manylinux2014_x86_64 wheels for Python 3.9-3.11
Test workflow validates wheels install and pass all pytest tests
Wheels are uploadable to PyPI with automated trusted publishing
This is ready to merge because all CI tests are passing. Refer - czgdp1807#4
Migration Notes
This intends to replace the existing Docker-based build process. Future PRs can add macOS support by:
ci/environment-macos.ymlwith Clang compilersmatrix.osto includemacos-latestdelocatefor macOS wheel repair