Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
56b3beb
chore: add branch placeholder zbobr_fix-72-make-zenoh-kotlin-depend-o…
milyin Apr 18, 2026
b7b01de
chore: add zenoh-java as git submodule on common-jni branch
milyin Apr 19, 2026
967dea1
build: update Gradle build to depend on zenoh-jni-runtime, remove Rus…
milyin Apr 19, 2026
d5a476f
refactor: move ZSerialize/ZDeserialize to jvmAndAndroidMain source set
milyin Apr 19, 2026
6156300
refactor: delete zenoh-kotlin JNI adapter layer and duplicate shared …
milyin Apr 19, 2026
b98ffda
refactor: adapt Zenoh.kt, Config.kt, KeyExpr.kt, ZenohId.kt, Logger.k…
milyin Apr 19, 2026
4986cd6
chore: remove zenoh-jni Rust crate and rust-toolchain.toml
milyin Apr 19, 2026
4d8ea8a
build: remove CompileZenohJNI task and cargo wiring from examples
milyin Apr 19, 2026
63114eb
ci: remove Rust build steps, simplify workflows to use zenoh-jni-runtime
milyin Apr 19, 2026
c8b20e9
fix: correct ntpValue call, ReplyKeyExpr ordinal, and KeyExpr undeclare
milyin Apr 19, 2026
282130a
fix: remove zenoh-jni references from bump-and-tag script and README
milyin Apr 19, 2026
b24b319
fix: decouple publish from local submodule, add separate runtime vers…
milyin Apr 19, 2026
c5d4716
docs: update README to distinguish Maven vs local submodule test modes
milyin Apr 19, 2026
e290c7b
fix: use runtime acceptReplies value in Query and fail-fast on select…
milyin Apr 19, 2026
8aa6930
fix: fail fast when useLocalJniRuntime=true but submodule is absent
milyin Apr 19, 2026
d71cce2
fix: remove stale publish-crates-github job from release workflow
milyin Apr 19, 2026
b4a9fac
Update zenoh-java submodule reference
milyin Apr 19, 2026
55a5cda
Merge pull request #651 from milyin-zenoh-zbobr/zbobr_fix-72-make-zen…
milyin Apr 19, 2026
fae1866
Update zenoh-java submodule to eclipse-zenoh/zenoh-java:common-jni HEAD
milyin Apr 19, 2026
9df0ffd
test fix attempt
milyin Apr 19, 2026
04681f2
Merge branch 'main' into external-jni
milyin Jul 17, 2026
0a07997
Open the zenoh-flat transition integration branch
milyin Jul 17, 2026
854a84c
Record PR #668 in the transition table
milyin Jul 17, 2026
0ea9505
Port zenoh-kotlin to zenoh-flat-jni generated bindings (#668)
milyin Jul 17, 2026
021f6d0
Parameters becomes a thin facade over the shared string-backed implem…
milyin Jul 18, 2026
d81d243
Migrate to the split error-handler API (zenoh-flat-jni #45) (#673)
milyin Jul 21, 2026
71683c7
Serialize via the pure-Kotlin SerializationCodec (no JNI) (#675)
milyin Jul 21, 2026
5a0ebbe
Add Gradle wrapper (8.12.1), like zenoh-java (#676)
milyin Jul 21, 2026
f886952
Advanced pub/sub: AdvancedPublisher/Subscriber, matching + sample-mis…
milyin Jul 23, 2026
5977bb1
Realign with zenoh-flat HEAD; a timestamp carries its clock's id
milyin Jul 28, 2026
e99b23a
CI: pin zenoh-flat-jni to the merged realignment
milyin Jul 28, 2026
71969d0
CI: build zenoh-flat-jni against published prebindgen (#692)
milyin Aug 7, 2026
59e98f2
Release preparation: repair the release path and document publishing …
milyin Aug 10, 2026
c38a78a
Merge origin/main into zenoh-flat-transition
Copilot Aug 10, 2026
febdc68
Review fixes for the zenoh-flat transition (#696)
milyin Aug 10, 2026
fde5407
CI: pin zenoh-flat-jni to the timestamp node-id fix (#698)
milyin Aug 10, 2026
ef0ae0a
CI: track zenoh-flat-jni main, and let Gradle drive its native build …
milyin Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 35 additions & 43 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,48 @@ jobs:
os: [ubuntu-latest, macos-latest]

steps:
- uses: actions/checkout@v4
- name: Check out zenoh-kotlin
uses: actions/checkout@v4
with:
path: zenoh-kotlin

- name: Check out zenoh-flat-jni
uses: actions/checkout@v4
with:
repository: eclipse-zenoh/zenoh-flat-jni
# No ref: track that repository's default branch. A pinned commit has
# to be hand-edited for every upstream fix, and this is the one hop
# in the chain no bot covers - zenoh-flat-jni's own Cargo.lock is
# kept aligned with zenoh for it, so following its main keeps the
# whole chain automatic. zenoh-flat is not checked out at all: it is
# resolved from git by that lockfile.
path: zenoh-flat-jni

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11

# zenoh-flat-jni pins its toolchain in rust-toolchain.toml. Install it
# from that directory, so a missing toolchain fails here rather than
# inside the Gradle build - and so this repo never has to name a version
# its dependency is free to change.
- name: Install Rust toolchain
run: |
rustup show
rustup component add rustfmt clippy

- name: Cargo Format
working-directory: zenoh-jni
run: cargo fmt --all --check

- name: Clippy Check without Cargo.lock
working-directory: zenoh-jni
run: |
rm Cargo.lock
cargo clippy --all-targets --all-features -- -D warnings
git restore Cargo.lock

- name: Check for feature leaks
working-directory: zenoh-jni
run: cargo test --no-default-features

- name: Build Zenoh-JNI
working-directory: zenoh-jni
run: cargo build
working-directory: zenoh-flat-jni
run: rustup show

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 8.12.1

- name: Gradle Test
run: gradle jvmTest --info
working-directory: zenoh-kotlin
# CI builds against the sibling checkout above, so it opts into the
# composite build. A release does not: it resolves zenoh-flat-jni from
# Maven Central like any other consumer.
#
# No cargo step precedes this: the composite build's test task depends
# on zenoh-flat-jni's own native build, so Gradle drives cargo.
run: ./gradlew jvmTest --info -PuseLocalFlatJni=true

markdown_lint:
runs-on: ubuntu-latest
Expand All @@ -84,25 +88,13 @@ jobs:
- name: Check whether all jobs pass
run: echo '${{ toJson(needs) }}' | jq -e 'all(.result == "success")'

# Publish snapshot packages. These jobs will only be triggered when the CI is executed on main.
publish_jvm_snapshot_package:
name: Publish JVM snapshot package
if: contains(fromJSON('["refs/heads/main"]'), github.ref)
needs: ci
uses: ./.github/workflows/publish-jvm.yml
permissions:
contents: read
packages: write
with:
snapshot: true
branch: ${{ github.ref_name }}
secrets: inherit

publish_android_snapshot_package:
name: Publish Android snapshot package
# Publish snapshot packages. Both coordinates come from one Gradle
# invocation — see .github/workflows/publish.yml.
publish_snapshot_package:
name: Publish snapshot package
if: contains(fromJSON('["refs/heads/main"]'), github.ref)
needs: ci
uses: ./.github/workflows/publish-android.yml
uses: ./.github/workflows/publish.yml
permissions:
contents: read
packages: write
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/publish-dokka.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,9 @@ jobs:

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: 8.12.1

- name: Gradle Wrapper
run: |
gradle wrapper
- name: Build doc
run: gradle dokkaGenerate
run: ./gradlew dokkaGenerate

- name: Deploy doc
if: ${{ inputs.live-run || false }}
Expand Down
202 changes: 0 additions & 202 deletions .github/workflows/publish-jvm.yml

This file was deleted.

Loading
Loading