Skip to content

refactor: consolidate CLI binaries and streamline CI workflows#44

Merged
senamakel merged 7 commits into
mainfrom
refactor/checks
Mar 27, 2026
Merged

refactor: consolidate CLI binaries and streamline CI workflows#44
senamakel merged 7 commits into
mainfrom
refactor/checks

Conversation

@senamakel
Copy link
Copy Markdown
Member

Summary

  • Consolidated Rust CLI binaries by removing legacy openhuman-cli/openhuman-core bins and introducing a unified openhuman binary.
  • Updated runtime and service wiring (core_process, core_server, service module exports) to align with the new binary layout.
  • Cleaned up CI workflows by removing deprecated pipelines and tightening remaining workflow configs.
  • Moved frontend HTML entrypoint to src/index.html and adjusted Vite/Tailwind/polyfill references accordingly.
  • Reduced dependency footprint and lockfile noise by removing unused packages and related config surface.

Problem

  • The repository had overlapping/legacy CLI binaries and stale workflow files, which increased maintenance overhead and made release/build behavior harder to reason about.
  • Frontend build/config paths had drifted, creating avoidable complexity during local and CI builds.

Solution

  • Replaced multiple Rust binary entrypoints with a single maintained openhuman binary and updated affected runtime integration points.
  • Removed obsolete GitHub Actions workflows and updated active workflow files to match the current release/build process.
  • Standardized frontend entrypoint/config references after moving index.html under src/.
  • Pruned unused dependencies and synchronized configuration updates in package.json, vite.config.ts, and lockfile.

Testing

  • yarn -s compile
  • cargo check --manifest-path src-tauri/Cargo.toml
  • Other checks run (list commands)
  • Ran via pre-push hook during git push:
    • prettier --check .
    • eslint . --ext .ts,.tsx
    • tsc --noEmit
  • Manual validation completed (list scenarios)

Impact

  • Primarily impacts desktop/CI/release tooling and Rust CLI/runtime packaging paths.
  • No intended end-user feature behavior changes; main effect is reduced maintenance complexity and cleaner build/release pipeline surface.

Breaking Changes

  • None
  • Yes (describe clearly, including migration steps)

Related

  • Issue(s): N/A
  • Follow-up PR(s)/TODOs:
    • Consider a focused CI follow-up to validate removed workflows are no longer referenced by release automation/docs.

- Removed several unused dependencies from package.json, including `@tauri-apps/plugin-shell`, `@types/react-router-dom`, `immer`, `qrcode.react`, and `@testing-library/user-event`.
- Updated the Vite configuration to exclude `telegram` from the optimizeDeps include list.
- Cleaned up yarn.lock by removing references to deleted packages.
- Deleted outdated GitHub Actions workflows for macOS ARM64 build, package and publish, and update changelog.
- Renamed the main binary from `openhuman-core` to `openhuman` for consistency across the project.
- Removed the `openhuman-cli` and `openhuman-core` binaries, consolidating functionality into the new `openhuman` binary.
- Updated build configurations in GitHub Actions and Tauri to reflect the new binary name and paths.
- Adjusted the Tailwind and Vite configurations to point to the correct HTML and source directories.
- Introduced a new method in the Rust core server for handling JSON-RPC calls, enhancing the API structure.
- Modified the GitHub Actions workflow to include a new job for running Rust tests in the workspace.
- Updated the `test:rust` command in `package.json` to run tests for the entire workspace.
- Refactored CLI command definitions in `openhuman.rs` for improved readability by consolidating struct fields into single lines.
- Updated `.prettierignore` to exclude the `rust-core` directory.
- Added new E2E testing commands in `package.json` for running all flows and improved formatting commands to include `cargo fmt`.
- Enhanced GitHub Actions workflows to streamline E2E testing, including new scripts for running individual specs and all flows sequentially.
- Refactored existing E2E scripts to utilize a common function for running tests, improving maintainability and readability.
- Introduced a new script for resolving Node.js and Appium dependencies, ensuring compatibility for E2E tests.
- Cleaned up and simplified existing E2E scripts by removing redundant code and consolidating functionality.
- Modified build and release workflows to reference the correct target directory for Rust binaries, ensuring compatibility with the Cargo workspace structure.
- Adjusted caching configuration in the test workflow for consistency and improved readability.
- Standardized environment variable formatting in the test workflow to enhance clarity.
- Updated the test workflow to use single quotes for cache configuration and environment variables, enhancing consistency across the file.
@senamakel senamakel merged commit 5ecc7cb into main Mar 27, 2026
8 of 14 checks passed
@senamakel senamakel deleted the refactor/checks branch March 27, 2026 20:59
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