zeekayandHanzo Dev 5333fcc38b fix: call the pipeline at the address it actually lives
hanzoai/ci keeps the reusable at .github/workflows/build.yml — the one path
both planes resolve, since github.com reads a reusable only from there and the
forge reads it too. The v1 tag moved with it, so a caller still naming
.hanzo/workflows/build.yml asks for a blob that is not in the tree:

  InsertRun: read hanzoai/ci@v1:.hanzo/workflows/build.yml: object does not exist

The caller itself stays at .hanzo/workflows/cicd.yml on purpose: github.com has
no runner for these labels, so a caller placed there could never be scheduled.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-08 01:14:25 -07:00

eval

An arbitrary expression evaluator for Go. Parses a string expression once into an EvaluableExpression, then evaluates it repeatedly against a set of named parameters, returning a single interface{} result.

Supports arithmetic, comparison, logical, bitwise, ternary, and string operators; regular-expression matching; membership (in); parameter accessors that reach into struct fields and map keys (obj.Field); and user-defined functions.

expr, err := eval.NewEvaluableExpression("foo > 0 && bar in ('a', 'b')")
result, err := expr.Evaluate(map[string]interface{}{"foo": 1, "bar": "a"})
// result == true

For a stable set of custom functions, build with eval.NewEvaluableExpressionWithFunctions. To supply parameters lazily, pass any value implementing the Parameters interface to Eval.

Provenance

Taken from github.com/casbin/govaluate v1.3.0, itself a fork of github.com/Knetic/govaluate by George Lester. See NOTICE for the full lineage and LICENSE for the MIT terms.

S
Description
Expression evaluator (Go) forked from casbin/govaluate v1.3.0; package renamed to eval.
Readme MIT
72 KiB
Languages
Go 100%