Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
- Implement unit tests for RichGraphPublisher to verify graph publishing to CAS. - Implement unit tests for RichGraphWriter to ensure correct writing of canonical graphs and metadata. feat: Implement AOC Guard validation logic - Add AOC Guard validation logic to enforce document structure and field constraints. - Introduce violation codes for various validation errors. - Implement tests for AOC Guard to validate expected behavior. feat: Create Console Status API client and service - Implement ConsoleStatusClient for fetching console status and streaming run events. - Create ConsoleStatusService to manage console status polling and event subscriptions. - Add tests for ConsoleStatusClient to verify API interactions. feat: Develop Console Status component - Create ConsoleStatusComponent for displaying console status and run events. - Implement UI for showing status metrics and handling user interactions. - Add styles for console status display. test: Add tests for Console Status store - Implement tests for ConsoleStatusStore to verify event handling and state management.
45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cases_root="${1:-cases}"
|
|
out_dir="${2:-/tmp/semgrep-baseline}"
|
|
|
|
cases_root="$(cd "${cases_root}" && pwd)"
|
|
mkdir -p "${out_dir}"
|
|
|
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
tmp_dir="$(mktemp -d "${out_dir}/semgrep-all-XXXX")"
|
|
submission="${out_dir}/submission.json"
|
|
|
|
# Collect per-case submissions
|
|
find "${cases_root}" -name case.yaml -print | sort | while read -r case_file; do
|
|
case_dir="$(dirname "${case_file}")"
|
|
case_out="${tmp_dir}/$(basename "${case_dir}")"
|
|
mkdir -p "${case_out}"
|
|
"${script_dir}/run_case.sh" "${case_dir}" "${case_out}" >/dev/null
|
|
done
|
|
|
|
# Merge deterministically
|
|
python - <<'PY'
|
|
import json, pathlib, sys
|
|
out_dir = pathlib.Path(sys.argv[1])
|
|
subs = []
|
|
for path in sorted(out_dir.glob("*/submission.json")):
|
|
subs.append(json.loads(path.read_text()))
|
|
|
|
merged = {
|
|
"version": "1.0.0",
|
|
"tool": {"name": "semgrep", "version": "aggregate"},
|
|
"run": {"platform": "local-semgrep-baseline"},
|
|
"cases": []
|
|
}
|
|
for sub in subs:
|
|
merged["cases"].extend(sub.get("cases", []))
|
|
merged["cases"] = sorted(merged["cases"], key=lambda c: c.get("case_id",""))
|
|
|
|
dest = pathlib.Path(sys.argv[2])
|
|
dest.write_text(json.dumps(merged, indent=2, sort_keys=True))
|
|
print(f"submission written: {dest}")
|
|
PY "${tmp_dir}" "${submission}"
|