You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(uniffi): repair Android package build and release-tag checkout (#1300)
- build-android-*: cargo-make's `extend` replaces the parent env map
rather than merging it, so `env = { TARGET = ... }` silently dropped
ANDROID_RELEASE_FLAG and RUSTFLAGS — `--profile release` produced debug
.so files and android-copy-jniLibs found nothing in target/*/release.
Derive the flag from CARGO_MAKE_PROFILE in the script instead.
- android-bindgen-kotlin: TARGET leaks across cargo-make tasks, so
bindgen-kotlin's `build` dependency cross-compiled for Android with the
host linker ("cannot find -llog"). Pin TARGET back to the host triple
and keep symbols, which library-mode bindgen needs on Linux.
- Raise both size gates to measured values: ios-arm64 is 1088 KiB and
arm64-v8a 1174 KiB, having grown past the limits set in #1171 when the
data-track UniFFI surface landed in #1034.
- Check out inputs.tag_name in both reusable workflows;
workflow_dispatch was building the dispatch ref (main) rather than the
requested tag.
### Before you submit your PR
Make sure the following is true before submitting your PR:
- [ ] I have read the [contributing
guidelines](https://github.com/livekit/rust-sdks/blob/main/CONTRIBUTING.md)
and validated that this PR will be accepted.
- [ ] I have read and followed the principles regarding breaking
changes, testing, and code quality.
### PR description
Describe the changes in this PR. Explain what the PR is meant to solve
and how to reproduce the issue in the first place.
### Breaking changes
If this PR introduces breaking changes, list them here and document the
rationale for introducing such a change.
### MSRV
If the PR modifies the crate's MSRV (Minimum Supported Rust Version),
document it here.
### Testing
Ideally, unit test the code you add, but ensure you're not repeating
existing test cases. Use as many already written scaffolding, utilities
as possible; write your own, when needed. If external services, APIs,
tokens are required (e.g., running an LK server instance), provide the
necessary information. Make sure your tests perform useful,
context-aware assertions and do not simply emulate "happy paths".
### Async
We want the project to be runtime-agnostic, so please reuse what's
already in
[livekit-runtime](https://github.com/livekit/rust-sdks/blob/main/livekit-runtime/)
and feel free to add anything missing. It's ok to use Tokio directly,
when writing unit tests, if necessary. When testing, do not use
artificial delays for the state to "catch up"; instead, respect the
event flow and subscribe properly using channels or other mechanisms.
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Fix the Android AAR build. Two cargo-make bugs kept `cargo make --profile release android-package` from ever producing a release artifact: the per-arch tasks' `env = { TARGET = ... }` replaced (rather than merged) the parent env map, dropping the `--release` flag, and the `TARGET` they set leaked into the Kotlin bindgen's host build, which then cross-compiled with the host linker. Also raise the Swift and Android size budgets to match the binaries as they stand since the data-track UniFFI surface landed, and check out the released tag rather than the dispatch ref when building the wrapper packages.
0 commit comments