42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
WORKFLOW="$ROOT_DIR/.github/workflows/opencode-code-review.yml"
|
|
|
|
pass() {
|
|
printf 'ok - %s\n' "$1"
|
|
}
|
|
|
|
fail() {
|
|
printf 'not ok - %s\n' "$1" >&2
|
|
exit 1
|
|
}
|
|
|
|
count_occurrences() {
|
|
local pattern=$1
|
|
local output
|
|
output="$(rg --fixed-strings --count-matches "$pattern" "$WORKFLOW" || true)"
|
|
if [[ -z "$output" ]]; then
|
|
printf '0\n'
|
|
return
|
|
fi
|
|
if [[ "$output" =~ ^[0-9]+$ ]]; then
|
|
printf '%s\n' "$output"
|
|
return
|
|
fi
|
|
awk -F: '{ print $2 }' <<<"$output"
|
|
}
|
|
|
|
model_reference_count="$(count_occurrences 'OpenCode model: `{model}`')"
|
|
if [[ "$model_reference_count" != "2" ]]; then
|
|
fail "OpenCode no-suggestions comments include the model in both workflow paths"
|
|
fi
|
|
pass "OpenCode no-suggestions comments include the model in both workflow paths"
|
|
|
|
paginated_comment_lookup_count="$(count_occurrences '"gh", "api", "--paginate",')"
|
|
if [[ "$paginated_comment_lookup_count" != "2" ]]; then
|
|
fail "OpenCode no-suggestions comment lookup paginates in both workflow paths"
|
|
fi
|
|
pass "OpenCode no-suggestions comment lookup paginates in both workflow paths"
|