Skip to content

Build main against zenoh-flat-jni's snapshot, not an unreleased version - #702

Closed
milyin wants to merge 1 commit into
mainfrom
ci/build-against-flat-jni-snapshot
Closed

Build main against zenoh-flat-jni's snapshot, not an unreleased version#702
milyin wants to merge 1 commit into
mainfrom
ci/build-against-flat-jni-snapshot

Conversation

@milyin

@milyin milyin commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

The failure

The nightly snapshot publication has never got past compiling —
run 31464385208:

Could not find org.eclipse.zenoh:zenoh-flat-jni:1.9.0

zenohFlatJniVersion=1.9.0 names a version that is not on Maven Central. No
released version could work: nothing of zenoh-flat-jni is published yet. The
only builds of it that exist are snapshots, and a non-snapshot version never
gets the snapshot repository on its resolution path — by design, build.gradle.kts.

#701 documented the workaround (pass zenoh-flat-jni-version by hand for a
rehearsal). That does not help the two runs that pass no inputs at all: the
nightly snapshot publication in ci.yml, and the scheduled release.yml.

The change

  • zenohFlatJniVersion=1.9.0-SNAPSHOT — the snapshot zenoh-flat-jni's CI
    publishes from its main (CI: publish a snapshot from main, same rule as the other JVM repos zenoh-flat-jni#36). It is also what
    turns on the snapshot repository here, so it is one property, not two.
  • bump-and-tag.bash now checks the value gradle.properties ends up with
    rather than the workflow input. A live release still refuses a -SNAPSHOT
    binding — but an omitted zenoh-flat-jni-version is now exactly how one would
    reach a release, which the input-only check did not cover.
  • PUBLISHING.md: the fallback resolves now, so the passages saying it fails are
    no longer true.

CI's test job is unaffected — it builds zenoh-flat-jni from source
(-PuseLocalJni=true) and never touches a repository.

Merge order

After eclipse-zenoh/zenoh-flat-jni#36 has run on its main and published
1.9.0-SNAPSHOT. Until then this resolves no better than today. The mechanism
itself is verified against a snapshot that does exist:

$ ./gradlew :zenoh-kotlin:dependencies --configuration jvmCompileClasspath -PzenohFlatJniVersion=1.9.0-rc8-SNAPSHOT
+--- org.eclipse.zenoh:zenoh-flat-jni:1.9.0-rc8-SNAPSHOT
|    \--- org.eclipse.zenoh:zenoh-flat-jni-jvm:1.9.0-rc8-SNAPSHOT

eclipse-zenoh/zenoh-java#523 is the same change.

The nightly snapshot publication has never got past compiling:

    Could not find org.eclipse.zenoh:zenoh-flat-jni:1.9.0

zenohFlatJniVersion named 1.9.0, which is not on Maven Central - nothing of
zenoh-flat-jni is, so no released version could have worked. Point it at the
snapshot zenoh-flat-jni's CI now publishes from its main, which is also what
puts the snapshot repository on the resolution path.

That makes an omitted zenoh-flat-jni-version resolve rather than fail, so the
guard against releasing against a snapshot has to move with it: check the value
gradle.properties ends up with instead of the workflow input, since an omitted
input is now exactly how a snapshot would reach a live release.
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.

1 participant