Skip to content

ci: build and link the Linux Fcitx5 plugin - #64

Merged
nervouna merged 2 commits into
mainfrom
ci/fcitx5-plugin-build
Oct 12, 2026
Merged

nervouna merged 2 commits into
mainfrom
ci/fcitx5-plugin-build

Conversation

@nervouna

@nervouna nervouna commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

PR #63 tests the portable core and standalone frontend helpers without compiling or linking the Fcitx5 plugin. This adds the actual CMake configure, plugin build/link and CTest steps to the existing Linux portable job, reusing the debug Rust static library produced by test.sh / abi.sh and the pinned librime.so. There is no second Rust or Rime build. The C++ addon uses Release, --no-undefined rejects unresolved addon/ABI symbols, and CTest fails if no tests are found.

The portable job uses Ubuntu 26.04's Fcitx5 5.1.19 development packages. Ubuntu 24.04's Fcitx5 5.1.7 lacks CandidateWord::setComment, as demonstrated by the build failure. The native cache is scoped to Ubuntu 26.04 to avoid restoring outputs from the previous distribution toolchain. Other jobs and the portable check name are preserved. Production code, release packaging, existing isolated tests and ARM64 Omarchy verification records are unchanged.

Validation

At db2867679bb8ed4ff88f2ad622275cfa9921e203:

  • Linux CI: all four jobs passed.
  • Portable/plugin job: started without a cache; GCC 15.2.0 compiled both plugin sources and linked libinkflow.so with Fcitx5 5.1.19, cargo/debug/libinkflow_rime.a and the pinned librime.so. The verbose command confirms --no-undefined. CTest passed 1/1, with -UNDEBUG preserving helper assertions in Release.
  • Existing runtime fixtures, 291 ranking comparisons and isolated C ABI checks passed; the script job passed 18 remote-script tests, 20 installer tests and frontend helper tests.
  • macOS test.sh quick: passed.
  • Local helper checks and git diff --check passed. The 20 installer tests passed with TMPDIR=/private/tmp; macOS's default /var alias initially exposed an existing canonical-path comparison in the test. actionlint 1.7.12 passed with only the independently verified ubuntu-26.04 label warning suppressed, since its label list does not include that hosted runner yet.

Coverage boundary

  • Compilation and linkage: real Fcitx5 headers/libraries, both C++ plugin sources, the Rust static library and pinned Rime on Linux x86-64. This reuses the debug Rust profile; it is not a release-package build.
  • Behavior: CTest currently runs only the pure bridge helpers. Existing isolated core/ABI and installer tests remain. Production-resource engine/personal-data/quality parity and production C ABI checks were explicitly skipped because no prepared production resources were supplied.
  • Desktop acceptance: addon loading, real application typing/focus, actual personal-data migration, installed upgrade/rollback and desktop integration still require the existing installed-addon tests and Omarchy or other target-device validation. Steam Deck/KDE Plasma validation remains deferred. The input method was not installed or activated.

This PR targets portable-core at a385c59, so its review contains only the CI and documentation changes. It does not merge #63 or this PR.

Refs #63, #36.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T10:02:14.612404Z c4628e9 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@nervouna
nervouna added this pull request to stack #65 October 12, 2026 07:07
Base automatically changed from portable-core to main October 12, 2026 07:08
@nervouna
nervouna force-pushed the ci/fcitx5-plugin-build branch from db28676 to fbc682f Compare October 12, 2026 07:08
@nervouna
nervouna merged commit 5adea54 into main Oct 12, 2026
5 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