From 4c7a2a52a1c1b331e0498c6e97ff60fd517b2ee6 Mon Sep 17 00:00:00 2001 From: Kayshen-X Date: Fri, 12 Jun 2026 23:28:09 +0800 Subject: [PATCH] chore(build): release packaging scripts, wasm bundle gate with codegen, workspace docs + lockfile --- .github/workflows/rust-release.yml | 193 +++++++++++++++++++++++++++-- Cargo.lock | 2 + crates/CLAUDE.md | 8 +- scripts/bundle-macos.sh | 61 ++++++++- scripts/package-appimage.sh | 107 ++++++++++++++++ scripts/package-deb.sh | 153 +++++++++++++++++++++++ scripts/package-linux-common.sh | 97 +++++++++++++++ scripts/package-windows.nsi | 161 ++++++++++++++++++++++++ tools/export-shadcn-kit.ts | 23 ++++ 9 files changed, 787 insertions(+), 18 deletions(-) create mode 100644 scripts/package-appimage.sh create mode 100644 scripts/package-deb.sh create mode 100644 scripts/package-linux-common.sh create mode 100644 scripts/package-windows.nsi create mode 100644 tools/export-shadcn-kit.ts diff --git a/.github/workflows/rust-release.yml b/.github/workflows/rust-release.yml index 33770e8cc..71b9e01a1 100644 --- a/.github/workflows/rust-release.yml +++ b/.github/workflows/rust-release.yml @@ -1,13 +1,67 @@ name: Rust release artifacts -# Triggered on tag push (v*) — builds release binaries across desktop targets -# and assembles a GitHub Release draft. The `build` job builds the real -# `op-host-desktop` crate (winit + skia-safe runner that drives the Rust -# editor); its shipped executable keeps the stable `openpencil-desktop` -# name. Full DMG / AppImage / EXE installer packaging lands in Step 1f. -# The wasm web bundle is currently DEFERRED (see comment block below); when -# the CI-side C-hard pipeline (emscripten install + EMSDK + symlink hack + -# wasm-bindgen + wasm-opt) lands it will re-enter the matrix. +# Triggered on tag push (v*) — builds release binaries across desktop targets, +# packages real installers per platform, and assembles a GitHub Release draft. +# +# Artifact matrix (per platform; = tag version, arch token = x64/arm64 to +# match electron-builder's `${productName}-${version}-${arch}-…` convention +# from apps/desktop/electron-builder.yml): +# macOS OpenPencil---mac.dmg .app via scripts/bundle-macos.sh +# (.op/.pen/.fig associations in +# Info.plist, op CLI embedded in +# Contents/MacOS, ad-hoc signed) +# openpencil-desktop-