Skip to content

Conversation

@czgdp1807
Copy link

Description

This PR improves cross-platform support and build hygiene for the TensorFlow Metadata repository:

Changes

  1. macOS CI Support: Enable continuous integration on macOS runners to catch platform-specific issues

    • Updated test.yml to run on both ubuntu-latest and macos-latest
    • Updated wheels.yml to build wheels on both Ubuntu and macOS platforms
  2. Python 3.13 Support: Add Python 3.13 to test and wheel build matrices

    • Ensures compatibility with the latest Python version
  3. Zlib Upgrade: Upgrade zlib from 1.2.12 to 1.3.1

    • Fixes macro conflicts and compilation issues on macOS with newer Clang versions
    • Resolves Apple Silicon compatibility issues (e.g., fdopen macro redefinition)
  4. Repository Hygiene: Add .gitignore file

    • Excludes Bazel-generated directories (bazel-bin, bazel-metadata, bazel-out, bazel-testlogs)
    • Ignores generated protobuf Python files (*_pb2.py)
    • Prevents tensorflow_metadata.egg-info/ from being tracked

Motivation

  • Support developers working on macOS and Apple Silicon systems
  • Ensure the package builds cleanly on multiple platforms
  • Reduce git repository noise from generated files
  • Prepare for Python 3.13 adoption

Testing

  • All CI workflows will run on both Ubuntu and macOS
  • Wheels will be built for 8 configurations: 2 OS × 4 Python versions (3.9-3.12, 3.13)
  • Local testing: pip install -e . and pytest should work on macOS after these changes

Related Issues

Fixes compilation issues on macOS Apple Silicon due to zlib/Clang compatibility.

- Upgrade zlib from 1.2.12 to 1.3.1 for Apple Silicon compatibility
- Add .gitignore for generated files and Bazel artifacts
- Add macOS runners to both test and wheel build workflows
- Update Python version matrix to include 3.13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant