From 4423503bba9f7cf9528d1f54b9bd33f9e5d0b633 Mon Sep 17 00:00:00 2001 From: KyuubiYoru Date: Fri, 17 Jul 2026 02:06:39 +0200 Subject: [PATCH] fix(ci): reduce readiness probe pressure (#1) --- .gitea/workflows/ci.yml | 4 ++-- .gitea/workflows/release.yml | 4 ++-- docs/deployment/linux.md | 7 ++++--- .../Release/ReleaseCompatibilityTests.cs | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index fffbf5c..02c6b2b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -198,9 +198,9 @@ jobs: --workdir /source \ "$smoke_client_image" \ bash -lc ' - for attempt in {1..900}; do + for attempt in {1..180}; do curl --fail --silent "${RENDEZVOUS_SMOKE_HTTP_URL%/}/health/ready" >/dev/null 2>&1 && exec ./scripts/smoke-deployment.sh - sleep 0.1 + sleep 1 done exit 1 ' || { diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8792235..c93461b 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -156,9 +156,9 @@ jobs: --workdir /source \ "$RENDEZVOUS_RELEASE_BUILDER" \ bash -lc ' - for attempt in {1..900}; do + for attempt in {1..180}; do curl --fail --silent "${RENDEZVOUS_SMOKE_HTTP_URL%/}/health/ready" >/dev/null 2>&1 && exec ./scripts/smoke-deployment.sh - sleep 0.1 + sleep 1 done exit 1 ' || { diff --git a/docs/deployment/linux.md b/docs/deployment/linux.md index 4b8f1ee..1daca49 100644 --- a/docs/deployment/linux.md +++ b/docs/deployment/linux.md @@ -53,9 +53,10 @@ operators should normally keep the checked-in relative defaults. CI starts its ephemeral smoke client directly on the isolated Compose network; it does not widen the default loopback HTTP publication. It mints the disposable publisher credential while the generated key is still owner-private, then makes the key -read-only for the non-root service container. Automation allows up to 90 seconds -for a cold image to become ready; the protocol smoke retains its separate, -stricter scenario timeout. +read-only for the non-root service container. Automation probes readiness once +per second and allows up to three minutes for a cold, resource-constrained image +to become ready; the protocol smoke retains its separate, stricter scenario +timeout. `deploy/compose/appsettings.Production.json` is a local/private-bridge smoke profile, not an Internet template: TCP is published only on host loopback, the diff --git a/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs b/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs index 803965a..c7e182d 100644 --- a/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs +++ b/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs @@ -182,7 +182,8 @@ public sealed class ReleaseCompatibilityTests Assert.Contains("--network \"$compose_network\"", workflow, StringComparison.Ordinal); Assert.Contains("publisher_credential", workflow, StringComparison.Ordinal); Assert.Contains("RENDEZVOUS_PUBLISHER_CREDENTIAL", workflow, StringComparison.Ordinal); - Assert.Contains("for attempt in {1..900}", workflow, StringComparison.Ordinal); + Assert.Contains("for attempt in {1..180}", workflow, StringComparison.Ordinal); + Assert.Contains("sleep 1", workflow, StringComparison.Ordinal); Assert.Contains("service_ip", workflow, StringComparison.Ordinal); Assert.Contains("http://${service_ip}:8080/", workflow, StringComparison.Ordinal); Assert.Contains("${service_ip}:9050", workflow, StringComparison.Ordinal);