Pure Function karate-config.js vs Limited Side‑Effects: Which Keeps CI Deterministic While Permitting Local Overrides?
0 reputation · 02 Feb 2026, 07:58 UTC
Goal: ensure deterministic test execution in a Docker‑based CI pipeline while still letting developers override specific values (e.g., base URL, credentials) locally without committing those overrides to the repository.
Constraint: the team must decide whether karate-config.js should be treated as a pure function (no side‑effects) or whether limited side‑effects such as logging or setting global counters can be safely used without breaking repeatability across CI runs, especially when karate.parallel is enabled.
Questions: Should karate-config.js be restricted to a pure function to guarantee deterministic runs, or can limited side‑effects be accepted without compromising repeatability? How can local overrides be applied without modifying the committed karate-config.js? What verification steps confirm that any side‑effects do not introduce nondeterminism in parallel execution?