feat: Add CI/CD workflows for testing and publishing SAL crates
Some checks failed
Test Publishing Setup / Test Publishing Setup (pull_request) Has been cancelled

- Add a workflow for testing the publishing setup
- Add a workflow for publishing SAL crates to crates.io
- Improve crate metadata and version management
- Add optional dependencies for modularity
- Improve documentation for publishing and usage
This commit is contained in:
Mahmoud-Emad
2025-07-01 08:34:20 +03:00
parent 52f2f7e3c4
commit e01b83f12a
29 changed files with 2823 additions and 35 deletions

View File

@@ -18,8 +18,8 @@ path = "src/main.rs"
env_logger = { workspace = true }
rhai = { workspace = true }
# SAL library for Rhai module registration
sal = { path = ".." }
# SAL library for Rhai module registration (with all features for herodo)
sal = { path = "..", features = ["all"] }
[dev-dependencies]
tempfile = { workspace = true }

View File

@@ -15,14 +15,32 @@ Herodo is a command-line utility that executes Rhai scripts with full access to
## Installation
Build the herodo binary:
### Build and Install
```bash
cd herodo
cargo build --release
git clone https://github.com/PlanetFirst/sal.git
cd sal
./build_herodo.sh
```
The executable will be available at `target/release/herodo`.
This script will:
- Build herodo in debug mode
- Install it to `~/hero/bin/herodo` (non-root) or `/usr/local/bin/herodo` (root)
- Make it available in your PATH
**Note**: If using the non-root installation, make sure `~/hero/bin` is in your PATH:
```bash
export PATH="$HOME/hero/bin:$PATH"
```
### Install from crates.io (Coming Soon)
```bash
# This will be available once herodo is published to crates.io
cargo install herodo
```
**Note**: `herodo` is not yet published to crates.io due to publishing rate limits. It will be available soon.
## Usage