Commit Graph

8 Commits

Author SHA1 Message Date
Junliang Feng fa5b733781 [root]chore: split CLI release into release-cli.yml and scope changeset to CLI only (#594)
* [root]chore: split CLI release into release-cli.yml and scope changeset to CLI only

- Rename .github/workflows/release.yml -> release-cli.yml, keeping only
  version-or-release / build-cli / publish-cli jobs; drop publish-js,
  release-extension, release-dify-plugin and their detection outputs
- Extend .changeset/config.json ignore list with JS packages, extension
  and dify-plugin so `pnpm changeset` only proposes CLI-related packages
- Other package release pipelines will be re-introduced later as their
  own independent workflows when needed

* [root]fix: silence shellcheck warnings in release-cli.yml

- SC2193: assign matrix.platform-suffix to a shell var before pattern
  matching so shellcheck stops flagging the == win32-* comparison
- SC2086: switch TAG_FLAG string to a TAG_FLAGS bash array and expand
  with "${TAG_FLAGS[@]}" in both platform and CLI publish steps
2026-04-23 01:38:46 +08:00
s1mba 7cc6a13383 feat: unify CLI & extension releases under changeset workflow (#134)
* [root]fix: add workflow permissions and restrict changeset scope

- Add contents:write and pull-requests:write permissions to release
  workflow so changesets/action can create PRs and push commits
- Expand ignore list to exclude all non-releasable packages (services,
  playground) to prevent accidental npm publishes
- Add build:release script that only builds changeset-managed packages
  to avoid CI failures from unrelated build errors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]feat: unify CLI & extension releases under changeset workflow

Replace 3 separate release flows (changesets for JS, tag-triggered for
CLI, tag-triggered for extension) with a single unified workflow driven
by Version PRs.

- Add scripts/sync-versions.js to sync CLI version to platform packages
  and extension version to manifest.json after changeset version
- Rewrite release.yml with 5 conditional jobs: version-or-release,
  publish-js, build-cli, publish-cli, release-extension
- Remove platform binary packages from pnpm workspace (pure containers)
- Enable privatePackages versioning for extension in changeset config
- Delete release-cli.yml and release-extension.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* [root]chore: ignore json-ui-site and knowledge-builder-any in changesets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 18:50:02 +08:00
sen 057154b38f [root]fix: run cross build from repo root to fix aarch64-linux CI (#91)
cross mounts only the cwd into Docker. By running from the repo root
with --manifest-path, the sibling actionbook-extension directory
becomes accessible for include_str!() at compile time.
2026-02-09 15:10:28 +08:00
Adcent 86170e3132 Address PR feedback on package resolution and workflow paths 2026-02-06 21:11:11 +08:00
Adcent f5ae0ea7ed Split CLI distribution into platform-specific npm packages 2026-02-06 21:05:30 +08:00
4bmis 3a719a3666 [packages/cli]refactor: simplify postinstall to only fix permissions
Remove GitHub Releases download fallback from postinstall script.
The binary is always bundled in the npm package, so download logic is unnecessary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:45:43 +08:00
4bmis 4715896e2e [packages/cli]refactor: replace TypeScript CLI with Rust binary wrapper
Replace the TypeScript CLI implementation with a thin JS wrapper that
executes the native Rust binary. The npm package now ships all platform
binaries directly, with a postinstall fallback to download from GitHub
Releases if needed.

- Add bin/actionbook.js: platform detection + binary execution
- Add scripts/postinstall.js: fallback download from GitHub Releases
- Remove all TypeScript source, build config, and dependencies
- Update CI workflow to build, package, and publish with binaries
- Update README with full Rust CLI command documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 12:44:19 +08:00
AlexZhang e0ceb1690c [packages/actionbook-rs]feat: add npm distribution for cross-platform CLI install
Enable `npm install -g @actionbookdev/actionbook-rs` to install the Rust
binary using the optionalDependencies pattern (same as esbuild/biome).

- Switch reqwest and tokio-tungstenite to rustls-tls for cross-compilation
- Add platform-specific packages for 6 targets (darwin/linux/win32 x arm64/x64)
- Add main wrapper package with JS shim that detects platform and spawns native binary
- Add build-npm.sh and publish-npm.sh helper scripts
- Add GitHub Actions workflow triggered on actionbook-rs-v* tags

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 15:12:48 +08:00