Skip to content

ci: publish release archives with native Tika for Linux, macOS and Windows; rename to documents-plugin - #2

Merged
michaelneale merged 6 commits into
mainfrom
release-all-platforms
Nov 12, 2026
Merged

michaelneale merged 6 commits into
mainfrom
release-all-platforms

Conversation

@michaelneale

Copy link
Copy Markdown
Contributor

Builds on #1 (i386's example-plugin workflow standard) and makes its archives actually run: the template copies only the executable, but this plugin needs libtika_native (Tika compiled with GraalVM) beside it.

What a release now ships (on a v* tag): pdf-<version>-<target> and the stable alias pdf-<target> for

  • x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu (built on Ubuntu 22.04, glibc 2.35+)
  • aarch64-apple-darwin, x86_64-apple-darwin
  • x86_64-pc-windows-msvc

No Windows on ARM: GraalVM has no native-image for it.

Changes

  • scripts/package.sh packages on every OS: the library is loaded from beside the executable (@loader_path + re-sign on macOS, $ORIGIN via patchelf on Linux, exe directory on Windows), plus plugin-manifest.json.
  • scripts/smoke.sh unpacks an archive outside the build tree and runs its --packaged-manifest and a native Tika extraction of tests/fixtures/smoke.pdf. CI and release run it on each platform.
  • Windows port: store permissions are Unix-only, home falls back to USERPROFILE, Tesseract's default install folder is searched.
  • mesh-llm-plugin pinned to #3012's current head (355d29c8c); the old pin was from before its rebase.

Validation (local, M5): release clippy clean, 19 tests pass, package.sh + smoke.sh ok, and mesh-llm plugins install --archive (#3012 build, temp HOME) installs it. The other platforms are validated by this PR's CI.

James Dumay and others added 2 commits November 12, 2026 13:03
Test on Linux, macOS and Windows, x86-64 and ARM64 (ubuntu-24.04-arm and
windows-11-arm native runners), and publish matching release archives.
Release builds now run the test suite before packaging.
Package and smoke-test each platform's archive (libtika_native beside the
executable via @loader_path, $ORIGIN, or the exe directory), build Linux on
Ubuntu 22.04, build Windows with MSVC, and port the store and home lookup to
Windows. No Windows on ARM: GraalVM has no native-image for it. Pin
mesh-llm-plugin to #3012's current head.
@coderabbitai

coderabbitai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3dd0d508-c2d0-4cd0-910d-3ae3f3fa8a70
Pre-merge checks: Passed 1 · Inconclusive 1

Failed Failed checks: 1 inconclusive

Check name Status Explanation Resolution
Title check Pending This assessment has not completed. The check will be retried on the next pre-merge check run.
Passed Passed checks: 1 passed

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

…are now "documents"

Co-authored-by: Gandalf <474797421bc8061b82a684ffc1438abc87e1355d67aa3cc59917808655971c9f@meshllm.communities.buzz.xyz>
@michaelneale michaelneale changed the title ci: publish release archives with native Tika for Linux, macOS and Windows ci: publish release archives with native Tika for Linux, macOS and Windows; rename to documents-plugin Nov 12, 2026
Use temp_dir paths instead of Unix-only absolute paths, and run the
/bin/sh-based Tika worker tests on Unix only.
…in tests

On Windows PDFBox scans every system font on its first text extraction
(~70 s for 346 fonts on a GitHub runner), then reads ~/.pdfbox.cache
(~1 s). The worker test's 60 s deadline killed that first run.
@michaelneale
michaelneale merged commit 1880a31 into main Nov 12, 2026
6 checks passed
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