8000 fix(readme): document the uniffi.minigraf_ffi package 2.x ships; consumer-test v2.x by adityamukho · Pull Request #11 · project-minigraf/minigraf-java · GitHub
[go: up one dir, main page]

Skip to content
{"props":{"contextRegion":{"crumbs":[{"crumb_type":"organization","label":"project-minigraf","is_root":false,"href":"/project-minigraf"},{"crumb_type":"repository","label":"minigraf-java","is_root":false,"href":"/project-minigraf/minigraf-java"}],"localNavigation":[{"id":"code","icon":"code","label":"Code","href":"/project-minigraf/minigraf-java","selectedLinks":["repo_source","repo_downloads","repo_commits","repo_releases","repo_tags","repo_branches","repo_packages","repo_deployments","repo_attestations"],"popoverTarget":false,"commandId":"repositories:go-to-code","reactNav":{"appTarget":"code-view","anchor":"code-view-repo-link"},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"issues","icon":"issue-opened","label":"Issues","href":"/project-minigraf/minigraf-java/issues","selectedLinks":["repo_issues","repo_labels","repo_milestones"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-issues","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"pull-requests","icon":"git-pull-request","label":"Pull requests","href":"/project-minigraf/minigraf-java/pulls","selectedLinks":["repo_pulls","checks"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-pull-requests","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"actions","icon":"play","label":"Actions","href":"/project-minigraf/minigraf-java/actions","selectedLinks":["repo_actions"],"popoverTarget":false,"commandId":"repositories:go-to-actions","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"projects","icon":"table","label":"Projects","href":"/project-minigraf/minigraf-java/projects","selectedLinks":["repo_projects","new_repo_project","repo_project"],"popoverTarget":false,"commandId":"repositories:go-to-projects","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"security-and-quality","icon":"shield","label":"Security and quality","href":"/project-minigraf/minigraf-java/security","selectedLinks":["security","overview","alerts","policy","token_scanning","code_scanning"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-security","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"insights","icon":"graph","label":"Insights","href":"/project-minigraf/minigraf-java/pulse","selectedLinks":["repo_graphs","repo_contributors","dependency_graph","dependabot_updates","pulse","people","community"],"popoverTarget":false,"commandId":"repositories:go-to-insights","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}}],"localNavigationUpdateChannel":null,"selectedLink":"repo_pulls"},"owner":null,"headerLogo":{"href":"/","aria-label":"Homepage "},"notifications":{"indicatorMode":"disabled","websocketChannel":null,"fetchIndicatorSrc":"/notifications/indicator","fetchIndicatorEnabled":false},"issues":{"href":"/issues"},"pulls":{"href":"/pulls"},"contributedRepos":{"href":"/repos"},"copilot":{"show":false,"showAgentsButton":false,"showRelaunchAnnouncement":false,"copilotChatUrl":null,"copilotApiUrl":"https://api.githubcopilot.com"},"search":{"show":true,"showCommandPalette":false,"isSearchPage":false,"isJumpToSearch":false,"searchContext":{"scope":"repo:project-minigraf/minigraf-java","current_repo_name":"minigraf-java","current_repo_nwo":"project-minigraf/minigraf-java","current_repo_org":"project-minigraf","user_id":"project-minigraf"}},"commandPalette":null,"enterpriseBar":{"show":false},"globalTransactionalMessage":[],"payloadsUrl":"/_global-navigation/payloads.json?can_toggle_site_admin_and_employee_status=0\u0026is_admin_mode_on=0\u0026is_ui_opted_out=0\u0026show_ui_opt_out=0\u0026v=8","contextRegionUrl":"/_global-navigation/context-region.json"}}

fix(readme): document the uniffi.minigraf_ffi package 2.x ships; consumer-test v2.x - #11

Merged
adityamukho merged 2 commits into
v2.xfrom
ci/consumer-tests-v2x
Oct 20, 2026
Merged

adityamukho merged 2 commits into
v2.xfrom
ci/consumer-tests-v2x

Conversation

@adityamukho
@adityamukho adityamukho commented Oct 20, 2026 •
Copy link
Copy Markdown
Contributor

Plan step 3 (v2.x) of the core binding consumer-test spec. This must merge before the main PR, because the main PR's CI packages and consumer-tests v2.x.

Fixed

  • README import: every 2.x jar has its classes in uniffi.minigraf_ffi. The README quick start imported io.github.project_minigraf.minigraf.MiniGrafDb, which doesn't compile against any released jar. That rename is on main and ships in v3.0.0; it stays out of 2.x because it breaks callers (decided 2026-10-20).

  • Versions and output: the install snippets said 1.2.0 and 1.1.1, and the README showed {"transacted":1}, which isn't the real output.

  • Alpine and Windows arm64 (2.x jar fails to load on Alpine (musl) and Windows arm64 #13): the 2.x NativeLoader picked the glibc native on musl and the x86_64 DLL on Windows arm64, so the jar failed to load on Alpine and Windows arm64, even though it ships those natives. This backports main's loader (java#5) and its tests, minus the facade test. The consumer test's Alpine and windows-11-arm legs found it. Ships in v2.0.9.

Added (what 2.0.x releases need, since they run main's workflows on this branch)

  • build.gradle.kts: reproducible archives and the build/m2 dist repository.
  • consumer-test/: written against the 2.x API, with MiniGrafDb.Companion.open(...) from Java.
  • Workflows: ci.yml, package.yml and verify-published.yml are copies of main's from the main PR, so PRs to v2.x run the same package and consumer tests.

Verified locally: all 4 consumer tests pass against a jar built from this branch.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz

…umer-test v2.x

Every 2.x jar has its classes in uniffi.minigraf_ffi; the README quick
start imported io.github.project_minigraf.minigraf.MiniGrafDb, which only
exists from v3.0.0 (the package rename is a breaking change, so it stays
out of 2.x). The install snippets said 1.2.0 and 1.1.1.

2.0.x patch releases run main's workflows on this branch, so this branch
gets what they need: the reproducible-archive settings and the build/m2
dist repository in build.gradle.kts, and consumer-test/ written against
the 2.x API (MiniGrafDb.Companion from Java). The workflow files are
copies of main's, so PRs to v2.x run the same package and consumer tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz
The 2.x NativeLoader picked the glibc native on musl and the x86_64 DLL on
Windows arm64, so the jar, which ships both natives, failed to load on
Alpine and Windows arm64 (UnsatisfiedLinkError). Backports main's loader
(java#5), which resolves by libc and architecture and caches the
extracted native, with its tests (less the Java facade test; 2.x has no
facade), and the matching copyLocalNative mapping. Found by the new
consumer test's Alpine and windows-11-arm legs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PtCdzbJMSS1V8qEPaJ4jXz
@adityamukho
adityamukho merged commit b1b99c3 into v2.x Oct 20, 2026
23 checks passed
@adityamukho
adityamukho deleted the ci/consumer-tests-v2x branch October 20, 2026 19:44
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

0