fix(deploy): validate complete smoke logs (#1)
quality-gate / quality (push) Successful in 2m47s
quality-gate / container (push) Failing after 2m18s

This commit is contained in:
KyuubiYoru
2026-07-17 00:58:28 +02:00
parent c3b3629515
commit de753b99e6
2 changed files with 15 additions and 4 deletions
+14 -4
View File
@@ -121,9 +121,19 @@ dotnet run --project "$PROJECT" --configuration "$BUILD_CONFIGURATION" --no-buil
wait "$host_pid" wait "$host_pid"
host_pid='' host_pid=''
jq -e 'select(.event == "host.direct-traffic" and .status == "verified")' "$host_log" >/dev/null if ! jq -s -e '
jq -e 'select(.event == "host.deregistered" and .status == "complete")' "$host_log" >/dev/null any(.[]; .event == "host.direct-traffic" and .status == "verified")
jq -e 'select(.event == "join.direct-traffic" and .status == "verified")' "$join_log" >/dev/null and any(.[]; .event == "host.deregistered" and .status == "complete")
jq -e 'select(.event == "join.outcome-report" and .status == "accepted")' "$join_log" >/dev/null ' "$host_log" >/dev/null; then
printf 'Host diagnostic did not complete authenticated traffic and deregistration.\n' >&2
exit 1
fi
if ! jq -s -e '
any(.[]; .event == "join.direct-traffic" and .status == "verified")
and any(.[]; .event == "join.outcome-report" and .status == "accepted")
' "$join_log" >/dev/null; then
printf 'Join diagnostic did not complete authenticated traffic and outcome reporting.\n' >&2
exit 1
fi
printf 'Rendezvous deployment smoke passed: HTTP live/ready and authenticated UDP mediation/direct traffic.\n' printf 'Rendezvous deployment smoke passed: HTTP live/ready and authenticated UDP mediation/direct traffic.\n'
@@ -63,6 +63,7 @@ public sealed partial class DocumentationContractTests
Assert.Contains("mint-local-publisher-credential.sh", smoke, StringComparison.Ordinal); Assert.Contains("mint-local-publisher-credential.sh", smoke, StringComparison.Ordinal);
Assert.Contains("select(.event == \"host.ready\" and .status == \"ready\")", smoke, StringComparison.Ordinal); Assert.Contains("select(.event == \"host.ready\" and .status == \"ready\")", smoke, StringComparison.Ordinal);
Assert.Contains("hasListingId", smoke, StringComparison.Ordinal); Assert.Contains("hasListingId", smoke, StringComparison.Ordinal);
Assert.Contains("jq -s -e", smoke, StringComparison.Ordinal);
Assert.DoesNotContain("jq -c .", smoke, StringComparison.Ordinal); Assert.DoesNotContain("jq -c .", smoke, StringComparison.Ordinal);
Assert.DoesNotContain("hexkey:", smoke, StringComparison.Ordinal); Assert.DoesNotContain("hexkey:", smoke, StringComparison.Ordinal);
Assert.DoesNotContain("openssl dgst", smoke, StringComparison.Ordinal); Assert.DoesNotContain("openssl dgst", smoke, StringComparison.Ordinal);