#!/usr/bin/env bash set -euo pipefail # DEVOPS-CLI-43-002: chaos smoke for Task Pack commands CLI=${CLI:-"dotnet run --project src/Cli/StellaOps.Cli/StellaOps.Cli.csproj --no-build --"} RESULTS="out/cli-chaos" mkdir -p "$RESULTS" PACK="${PACK:-tests/fixtures/task-packs/sample-pack.yaml}" RANDOM_FAIL=${RANDOM_FAIL:-true} SEALED=${SEALED:-false} echo "[chaos] running pack=$PACK random_fail=$RANDOM_FAIL sealed=$SEALED" set +e $CLI task-runner run --pack "$PACK" ${SEALED:+--sealed} ${RANDOM_FAIL:+--chaos-random-fail} >"$RESULTS/run.log" 2>&1 status=$? set -e echo "exit_code=$status" > "$RESULTS/metadata.txt" if [[ $status -ne 0 && "$RANDOM_FAIL" == "true" ]]; then echo "[chaos] attempting resume after failure" $CLI task-runner resume --pack "$PACK" >>"$RESULTS/run.log" 2>&1 || true fi tar -C "$RESULTS" -czf "$RESULTS/evidence.tgz" . echo "[chaos] evidence archived at $RESULTS/evidence.tgz"