Bnjoroge/property testing
Merged
BN
3mo ago+5815+5815+0123456789012345678901234567890123456789-217-217-012345678901234567890123456789
Summary by cubic
Adds a pure scheduler model and property tests to align our runner with GitHub Actions across DAG needs, matrix expansion, conditions, and step update merging. Also introduces DAG validation in the parser and a gated local test API for CI simulation.
-
New Features
aksh-runner-server: newschedulingmodule modelingneedsand matrix fan-out; adds proptest regressions file; optional local test API guarded by--enable-test-apiand--test-api-token(loopback only).aksh-gha-parser: DAG validation with unknown-need and cycle errors; pure matrix expansion matching Actions semantics.aksh-gha-expressions+aksh-runner: shared condition helpers (validate_expression, status-function detection) and step condition evaluation with implicitsuccess() && (...).aksh-runner: step update merge/cancellation reconciliation and identity-safeWorkflowStepsUpdate; official oracles included for compatibility checks.- Docs: adds
docs/property-tests.mdand an implementation log.
-
Bug Fixes
aksh-gha-parser: preserve task reference fields when buildingusessteps.aksh-gha-protocol: align AzDO template map parsing and template token handling.