Skip to content

Conversation

@johnathan79717
Copy link
Contributor

Summary

  • Add crate metadata to Cargo.toml (description, license, repository, keywords, categories)
  • Add README.md with usage examples for PipeBackend and FfiBackend
  • Add GitHub Actions workflow (publish-barretenberg-rs.yml) for building static libraries

Workflow Details

The workflow builds libbb-external.a for all supported targets:

  • Linux x86_64
  • macOS x86_64 and ARM64
  • iOS ARM64 (device and simulator)
  • Android ARM64 and x86_64

Triggered manually with version input. Creates GitHub release with pre-built libraries.

Related

Test plan

  • Run workflow manually to test builds
  • Verify artifacts are created for all targets
  • Test release creation

- Add crate metadata to Cargo.toml (description, license, repository, etc.)
- Add README.md with usage examples
- Add GitHub Actions workflow for building static libraries for all targets
@johnathan79717 johnathan79717 marked this pull request as draft January 21, 2026 15:02
@ludamad
Copy link
Collaborator

ludamad commented Jan 21, 2026

I'm not a fan of the separate workflow, this is something we should overall delete for the bb publish packages (if you could maybe bundle it here) as it is obsolete

It should just be part of the bootstrap release path, testable by putting ci-release-pr label on this pr.

We will want to build all those targets in normal cpp bootstrap

- Remove separate publish-barretenberg-rs.yml workflow
- Add iOS toolchains (aarch64-ios.cmake, aarch64-ios-sim.cmake)
- Add Android toolchains (aarch64-android.cmake, x86_64-android.cmake)
- Add CMake presets for ios-arm64, ios-sim-arm64, android-arm64, android-x86_64
- Add build_ios and build_android functions to bootstrap.sh
- Update build_release_dir to package libbb-external.a for FFI backend

Mobile static libraries will be included in releases for barretenberg-rs FFI backend.
@johnathan79717
Copy link
Contributor Author

Cross-building to iOS requires Xcode SDK which is only available on macOS. My laptop in the office is too old and slow to build stuff but I can try tomorrow at home. To run it on CI, we might need macOS machines on AWS.

@charlielye @ludamad Do we have access to macOS machines?

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.

3 participants