fix(ci): align summary and Bash validation
CI / Capabilities and shell quality (push) Successful in 14s
CI / Python tests and compilation (push) Successful in 13s
CI / PowerShell tests on Ubuntu (push) Failing after 15s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 10s
CI / Qwen retrieval integration (push) Successful in 14m24s
CI / Bash integration and installation guards (push) Failing after 34s
CI / Installed client configuration smoke tests (push) Successful in 42s

This commit is contained in:
fraujulian committed 2026-09-25 07:21:33 +00:00
1 parent 6a1730c6ec
commit cf8e7cfc1b
3 files changed
+18 -23

No files matched your search

+3
View File
@@ -11,8 +11,11 @@ done
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)
shared="$root/shared"
output="$root/generated"
plugin_manifest="$root/adapters/plugins.tsv"
capability_manifest="$root/adapters/claude/capabilities.tsv"
[ -f "$plugin_manifest" ] || { printf 'Missing plugin manifest: %s\n' "$plugin_manifest" >&2; exit 1; }
awk -F '\t' 'NR == 1 { next } NF == 0 { next } $1 == "" || $3 == "" || $6 == "" { print "Invalid plugin manifest row." > "/dev/stderr"; exit 1 } seen[$1]++ { print "Duplicate plugin name in manifest: " $1 > "/dev/stderr"; exit 1 }' "$plugin_manifest"
[ -f "$capability_manifest" ] || { printf 'Missing capability manifest: %s\n' "$capability_manifest" >&2; exit 1; }
declare -A agent_tools
while IFS=$'\t' read -r role tools; do
+14 -18
View File
@@ -3,19 +3,16 @@ param([switch]$Summary)
$ErrorActionPreference = 'Stop'
$root = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent
. (Join-Path $root 'scripts/lib/manifest.ps1')
$homePath = [Environment]::GetFolderPath('UserProfile')
$script:fail = $false
$script:checkCount = 0
$script:passBuffer = @()
function Result($state, $message) {
$script:checkCount++
if ($state -eq 'FAIL') { $script:fail = $true }
if ($Summary -and $state -eq 'PASS') {
$script:passBuffer += "$state $message"
} else {
Write-Output ("$state $message")
}
}
$homePath = [Environment]::GetFolderPath('UserProfile')
$script:fail = $false
$script:checkCount = 0
function Result($state, $message) {
$script:checkCount++
if ($state -eq 'FAIL') { $script:fail = $true }
if (-not ($Summary -and $state -eq 'PASS')) {
Write-Output ("$state $message")
}
}
foreach ($tool in @('codex','claude')) { if (Get-Command $tool -ErrorAction SilentlyContinue) { $version = & $tool --version 2>&1 | Select-Object -First 1; Result 'PASS' "$tool available ($version)" } else { Result 'WARN' "$tool unavailable" } }
if (Get-Command jq -ErrorAction SilentlyContinue) { Result 'PASS' 'jq available for Claude Bash status line' } else { Result 'WARN' 'jq unavailable; Claude Bash status line is disabled' }
@@ -88,11 +85,10 @@ foreach ($client in @('codex','claude')) {
if ($registered) { Result 'PASS' "$client Stop hook is registered" } else { Result 'WARN' "$client ships hook utilities, but no Stop hook is registered" }
}
if ($Summary) {
if ($script:fail) {
$script:passBuffer | ForEach-Object { Write-Output $_ }
Write-Output "Doctor: FAIL | $script:checkCount checks"
exit 1
if ($Summary) {
if ($script:fail) {
Write-Output "Doctor: FAIL | $script:checkCount checks"
exit 1
}
Write-Output "Doctor: PASS | $script:checkCount checks"
} else {
+1 -5
View File
@@ -14,14 +14,11 @@ root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)
home_path=${HOME:?HOME is required}
failed=false
check_count=0
pass_buffer=()
result() {
check_count=$((check_count + 1))
[ "$1" != FAIL ] || failed=true
if [ "$summary" = true ] && [ "$1" = PASS ]; then
pass_buffer+=("$1 $2")
else
if [ "$summary" != true ] || [ "$1" != PASS ]; then
printf '%s %s\n' "$1" "$2"
fi
}
@@ -111,7 +108,6 @@ done
if [ "$summary" = true ]; then
if [ "$failed" = true ]; then
for line in "${pass_buffer[@]}"; do printf '%s\n' "$line"; done
printf 'Doctor: FAIL | %s checks\n' "$check_count"
exit 1
fi