From 74ae126ea7affad3b751485ce650aaa05e579bf6 Mon Sep 17 00:00:00 2001 From: KyuubiYoru Date: Fri, 17 Jul 2026 01:59:30 +0200 Subject: [PATCH] fix(ci): allow cold container startup (#1) --- .gitea/workflows/ci.yml | 2 +- .gitea/workflows/release.yml | 2 +- docs/deployment/linux.md | 4 +++- .../Release/ReleaseCompatibilityTests.cs | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 44afe5d..fffbf5c 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -198,7 +198,7 @@ jobs: --workdir /source \ "$smoke_client_image" \ bash -lc ' - for attempt in {1..300}; do + for attempt in {1..900}; do curl --fail --silent "${RENDEZVOUS_SMOKE_HTTP_URL%/}/health/ready" >/dev/null 2>&1 && exec ./scripts/smoke-deployment.sh sleep 0.1 done diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8cce815..8792235 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -156,7 +156,7 @@ jobs: --workdir /source \ "$RENDEZVOUS_RELEASE_BUILDER" \ bash -lc ' - for attempt in {1..300}; do + for attempt in {1..900}; do curl --fail --silent "${RENDEZVOUS_SMOKE_HTTP_URL%/}/health/ready" >/dev/null 2>&1 && exec ./scripts/smoke-deployment.sh sleep 0.1 done diff --git a/docs/deployment/linux.md b/docs/deployment/linux.md index 0f84e14..4b8f1ee 100644 --- a/docs/deployment/linux.md +++ b/docs/deployment/linux.md @@ -53,7 +53,9 @@ 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. +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. `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 31c6012..803965a 100644 --- a/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs +++ b/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs @@ -182,7 +182,7 @@ 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..300}", workflow, StringComparison.Ordinal); + Assert.Contains("for attempt in {1..900}", 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);