From ef07685d229368a2aa5dcdc001ad075b2de59d85 Mon Sep 17 00:00:00 2001 From: KyuubiYoru Date: Fri, 17 Jul 2026 01:14:44 +0200 Subject: [PATCH] fix(ci): correct Docker inspect templates (#1) --- .gitea/workflows/ci.yml | 4 ++-- .../Release/ReleaseCompatibilityTests.cs | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 9d26081..0dc6e69 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -168,8 +168,8 @@ jobs: test -n "$container_id" test "$(docker inspect --format '{{.Config.User}}' "$container_id")" = "1654:1654" test "$(docker inspect --format '{{.HostConfig.ReadonlyRootfs}}' "$container_id")" = "true" - test "$(docker inspect --format '{{range .Mounts}}{{if eq .Destination \"/app/appsettings.Production.json\"}}{{.RW}}{{end}}{{end}}' "$container_id")" = "false" - test "$(docker inspect --format '{{range .Mounts}}{{if eq .Destination \"/run/secrets/rendezvous-signing-key\"}}{{.RW}}{{end}}{{end}}' "$container_id")" = "false" + test "$(docker inspect --format '{{range .Mounts}}{{if eq .Destination "/app/appsettings.Production.json"}}{{.RW}}{{end}}{{end}}' "$container_id")" = "false" + test "$(docker inspect --format '{{range .Mounts}}{{if eq .Destination "/run/secrets/rendezvous-signing-key"}}{{.RW}}{{end}}{{end}}' "$container_id")" = "false" for attempt in {1..100}; do if curl --fail --silent "${RENDEZVOUS_SMOKE_HTTP_URL%/}/health/ready" >/dev/null 2>&1; then break diff --git a/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs b/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs index b5ef479..90d3cea 100644 --- a/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs +++ b/tests/FinalFactory.Rendezvous.Tests/Release/ReleaseCompatibilityTests.cs @@ -183,6 +183,22 @@ public sealed class ReleaseCompatibilityTests } } + [Fact] + public void ContainerGateUsesValidInspectTemplates() + { + string root = FindRepositoryRoot(); + string workflow = File.ReadAllText(Path.Combine(root, ".gitea/workflows/ci.yml")); + Assert.Contains( + "eq .Destination \"/app/appsettings.Production.json\"", + workflow, + StringComparison.Ordinal); + Assert.Contains( + "eq .Destination \"/run/secrets/rendezvous-signing-key\"", + workflow, + StringComparison.Ordinal); + Assert.DoesNotContain("eq .Destination \\\"", workflow, StringComparison.Ordinal); + } + [Fact] public void ServerSourceManifestIsCompleteSortedAndDeterministic() {