Skip to content

ci: add mobile bindgen validation workflows - #21

Merged
pwltr merged 1 commit into
masterfrom
ci/bindgen-validation
Aug 17, 2026
Merged

ci: add mobile bindgen validation workflows#21
pwltr merged 1 commit into
masterfrom
ci/bindgen-validation

Conversation

@pwltr

@pwltr pwltr commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add CI validation for Rust, shell scripts, and Clippy
  • Add Android bindgen workflow that generates Kotlin/JNI artifacts on Ubuntu
  • Add iOS bindgen workflow that generates Swift/XCFramework artifacts on macOS
  • Upload generated mobile artifacts for inspection

Details

This is Phase 1 of moving mobile bindgen/release work into GitHub Actions.

The new workflows keep permissions read-only and do not publish packages, upload release assets, or remove any checked-in generated files. They only prove that Android and iOS generated outputs can be produced from source in CI.

See synonymdev/bitkit-core#114

Testing

Locally ran:

bash -n build.sh build_ios.sh build_android.sh build_python.sh

@pwltr

pwltr commented Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

Consumer verification

Downloaded the vss-ios-bindgen artifact from the iOS workflow run and used it in a temporary SwiftPM consumer package.

Verified:

  • VssRustClientFfi.xcframework works as a local SwiftPM binary target
  • generated vss_rust_client_ffi.swift imports and compiles against the FFI module
  • downstream iOS simulator build succeeds

Command:

xcodebuild -scheme VssIosConsumer \
  -destination 'generic/platform=iOS Simulator' \
  build

@pwltr

pwltr commented Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

Android consumer verification

Downloaded the vss-android-bindgen artifact from the Android workflow run and used it in a temporary Android library consumer project.

Verified:

  • generated Kotlin bindings compile in a separate Android project
  • generated JNI .so files are packaged from jniLibs
  • downstream Android debug AAR build succeeds

Command:

./gradlew :app:assembleDebug

@pwltr
pwltr requested a review from ovitrif August 14, 2026 14:16
@pwltr pwltr mentioned this pull request Aug 14, 2026

@ovitrif ovitrif left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! 👏🏻

LGTM, looks thoroughly validated, lmk if I should revalidate locally on my machine, though it doesn't seem needed 🙏🏻

@pwltr
pwltr merged commit 3626cc1 into master Aug 17, 2026
3 checks passed
@pwltr
pwltr deleted the ci/bindgen-validation branch August 17, 2026 08:15
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.

2 participants