ci: the APK waits for the core's clippy and tests
android.yml never ran cargo, so a core test that failed in desktop.yml's verify job stopped the desktop installers and not the APK, which links the same core through android/ffi (#5237). The Kotlin + Rust job now runs clippy and the tests for inkwell-core and inkwell-ffi before anything is assembled or published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -169,6 +169,16 @@ jobs:
|
||||
- name: Build the native library and bindings
|
||||
run: ./gradlew generateUniffiBindings -PINKWELL_CARGO_PROFILE=${{ steps.build.outputs.profile }}
|
||||
|
||||
# The core ships inside this APK (through android/ffi), so its checks have to
|
||||
# gate the APK HERE, in this workflow's graph. desktop.yml runs them too, but a
|
||||
# red run there cannot stop this lane publishing (rule 177, #5237). Host
|
||||
# target: the crates' own tests, not the cross-compiled .so.
|
||||
- name: Rust clippy and tests (core and FFI)
|
||||
working-directory: .
|
||||
run: |
|
||||
cargo clippy --locked -p inkwell-core -p inkwell-ffi --all-targets -- -D warnings
|
||||
cargo test --locked -p inkwell-core -p inkwell-ffi
|
||||
|
||||
# The image's PINNED CLIs, not Gradle plugins. ci-rust-android carries both
|
||||
# (M12 step 3) precisely so this lane needs no second image, and going
|
||||
# through Gradle plugins would mean a second version of each tool resolved
|
||||
@@ -185,8 +195,8 @@ jobs:
|
||||
- name: Unit tests
|
||||
# Host-JVM tests only. Anything touching the core needs an Android
|
||||
# runtime to load the .so, so those are instrumented tests and belong on
|
||||
# an emulator, not here — the Rust side is covered by the workspace
|
||||
# tests in the desktop lane.
|
||||
# an emulator, not here — the Rust side is covered by the cargo step
|
||||
# above.
|
||||
#
|
||||
# DEBUG regardless of what is being packaged: AGP creates unit-test tasks
|
||||
# only for `testBuildType`, which is debug, so `testReleaseUnitTest` does
|
||||
|
||||
Reference in New Issue
Block a user