Commit Graph
19 Commits
Author SHA1 Message Date
Evan Hu 03b3f5f45a ci: build and publish the installer from a release workflow
The Windows installer has been produced by hand: build the TSF DLLs and the Server locally, build the settings page, copy dictionaries out of a developer checkout, then run the msime-installer scripts against a self-signed certificate. This automates that end to end, keeping the same artifact name the releases have always carried, MetasequoiaIME_Setup_v<version>.exe.

The workflow follows the shape of MSIME-Apple's release.yml. release-please owns version.txt and opens a release PR; merging it creates a draft release, which the publish path then builds and fills in. A manual dispatch can rebuild an existing draft tag, and validates that the tag matches version.txt at an immutable commit SHA before anything is built.

Four jobs feed the packaging job: the TSF DLLs for x64 and Win32, the Server Release build, and the settings page. msime-installer needs no changes because the packaging job stages each checkout under the historical directory name its scripts already address, so Prepare-PackageFiles.ps1 and Compile-Installer.ps1 run unmodified. windows-2025 ships Inno Setup 6.7.1, above the 6.6 the scripts require.

Dictionaries are not rebuilt here. They are downloaded from a dict-* release of metasequoiaime/MSIME-Dict and checked against its SHA256SUMS.txt, with the Mozc IPAdic / ICOT / Okinawa notice placed where Prepare-PackageFiles.ps1 expects so it reaches the installed product.

Signing follows the pattern MSIME-Apple uses: sign when the certificate secrets are configured, otherwise publish with an -unsigned suffix and say in the release notes that uiAccess will not take effect. Sign-PackageBinaries-Local.ps1 mints a self-signed certificate for local testing and is never invoked here.

release-please cannot drive the VERSIONINFO block in the resource script, which spells the version both as a comma quad and as a dotted string, so scripts/apply_version.py stamps it from version.txt before the release build configures CMake. It also has a --check mode. The committed resource moves off the stale 1.0.0.1 placeholder to the current 0.0.9.

The manifest starts at 0.0.9 rather than the four-part 0.0.9.2 that semver cannot express, so the next release will be 0.0.10, which still sorts after every existing tag.
2026-09-05 16:10:33 +09:00
fanlusky 8e825920c5 Add inline preedit in-time ars result support for voice input. 2026-08-17 00:56:22 +08:00
fanlusky b5ded50274 Add English input mode. 2026-08-01 23:11:02 +08:00
fanlusky c17e6a1070 Fix host-process crashes (notably QQ) on text commit.
Build the TSF tip with /MT so it no longer depends on the host's MSVCP140,
skip SetText(empty) in OnCompositionTerminated after normal EndComposition,
and guard SetText/EndComposition with SEH.
2026-07-22 10:40:20 +08:00
fanlusky 66110ade2a Continue cleaning up some unused codes. 2026-06-25 22:52:04 +08:00
fanlusky 2a6cc3dd3b Clean up some window-related codes. 2026-06-25 22:40:47 +08:00
fanlusky 502256e470 Remove unused codes. 2026-06-25 21:31:09 +08:00
fanlusky a36fd5e13b add compile release scripts 2026-04-02 18:24:39 +08:00
fanlumaster 6224292fd2 sign dll with certum certificate 2026-03-04 01:48:43 +08:00
fanlumaster eb104a9616 [config]: Update to VS2026 2025-12-29 21:55:53 +08:00
fanlumaster 29c4252042 squashed commits for create word feat 2025-10-25 12:44:29 +08:00
fanlumaster 3919be71e9 [Project]: Rename IME name again 2025-06-10 17:53:10 +08:00
fanlumaster 4483a6eb2c [Project]: Project name is ready 2025-06-10 16:04:39 +08:00
fanlumaster 4200ee8e93 [dependency]: Using vcpkg to install and use utfcpp 2025-06-06 22:26:01 +08:00
fanlumaster 495bd1fc52 [feat]: Do not embed preedit string to VSCode like apps 2025-06-06 16:38:25 +08:00
fanlumaster 20072b6e0c [docs]: Build steps 2025-06-01 00:52:01 +08:00
fanlumaster e22c57567b [env]: Scripts for generating project config 2025-06-01 00:24:42 +08:00
fanlumaster ace57e9531 [dev]: Refactor 2025-05-30 22:03:24 +08:00
fanlumaster f29d6ad681 minimal integration of direct2d and directwrite 2025-01-28 03:57:15 +08:00