755a0b6ae9
Define claude-dev capabilities as a tested contract and deploy immutable tags only after smoke checks so daily tooling upgrades remain CI-first and rollback-safe. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
699 B
Bash
28 lines
699 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
check_http_status() {
|
|
local url="$1"
|
|
local allowed_regex="$2"
|
|
|
|
local code
|
|
code=$(curl -sS -o /dev/null -m 10 -w "%{http_code}" "$url")
|
|
if [[ ! "$code" =~ $allowed_regex ]]; then
|
|
echo "Unexpected HTTP status from $url: $code" >&2
|
|
return 1
|
|
fi
|
|
echo "$url => HTTP $code"
|
|
}
|
|
|
|
if ! getent hosts api.bytecatcode.org >/dev/null 2>&1; then
|
|
echo "DNS lookup failed for api.bytecatcode.org" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "DNS lookup passed for api.bytecatcode.org"
|
|
|
|
check_http_status "https://api.bytecatcode.org" '^(200|301|302|400|401|403|404)$'
|
|
check_http_status "http://127.0.0.1:3300" '^(200|301|302|401|403|404)$'
|
|
|
|
echo "Network smoke checks passed"
|