Skip to content

Update soto to 7.x (+ e2e Traefik/core-dump fixes) - #96

Merged
KrisSimon merged 4 commits into
mainfrom
feature/update
Jul 7, 2026
Merged

Update soto to 7.x (+ e2e Traefik/core-dump fixes)#96
KrisSimon merged 4 commits into
mainfrom
feature/update

Conversation

@KrisSimon

Copy link
Copy Markdown
Contributor

Summary

Updates the soto AWS SDK from 6.x to 7.x and fixes two unrelated e2e/tooling breakages found along the way.

soto 6.x → 7.14.0

  • Bumps soto 6.0.07.14.0, soto-core → 7.14.0, async-http-client 1.29.01.30.1 (soto-core 7.14 requires AHC ≥1.30). soto 7 also enables the ServiceLifecycleSupport package trait, which requires a trait-aware soto-core.
  • Migrates TenantTemplateLoader to the soto 7 API:
    • AWSClient no longer takes httpClientProvider; it now defaults to the shared HTTPClient. Shutdown moved from syncShutdown() to the async shutdown().
    • S3.GetObjectOutput.body is now a non-optional streaming AWSHTTPBody; read it via collect(upTo:) and decode the resulting ByteBuffer.

e2e: pin Traefik Helm chart to 38.0.2

The e2e Traefik install used an unpinned chart, so helm repo update pulled the latest (41.x), whose values schema rejects Deployment/e2e/traefik/values.yaml. Pinned to 38.0.2 (appVersion v3.6.6) — the newest chart whose schema still matches the tracked values file — overridable via TRAEFIK_CHART_VERSION.

e2e: ignore browser crash core dumps

A WebKit minibrowser crash during e2e leaves a multi-GB ELF core dump at Tests/e2e/playwright/core. The root .gitignore's /core is anchored to the repo root and doesn't match it, so added core/core.* ignores in the playwright test dir.

Verification

  • swift build and swift build --build-tests — clean (strict Swift 6 concurrency, -warnings-as-errors)
  • ./tooling.sh lint — 0 violations
  • Traefik chart 38.0.2 schema-validated against the values file via helm template
  • Not run: full ./tooling.sh e2e (needs kind cluster) and the S3 template-download path (no test covers it) — the soto migration is compile-verified only.

KrisSimon added 4 commits July 7, 2026 11:19
Bump soto from 6.x to 7.14.0 (soto-core 7.14.0, async-http-client 1.30.1)
and migrate TenantTemplateLoader to the soto 7 API:

- AWSClient no longer takes httpClientProvider; it now defaults to the
  shared HTTPClient. Shutdown moved from syncShutdown() to the async
  shutdown() in a detached task.
- S3.GetObjectOutput.body is now a non-optional streaming AWSHTTPBody;
  read it via collect(upTo:) and decode the resulting ByteBuffer.
The e2e Traefik install used an unpinned chart, so after a helm repo
update it pulled the latest chart (41.x) whose values schema rejects
Deployment/e2e/traefik/values.yaml (providers.file.content type change,
removed podSecurityPolicy/logs, disallowed kubernetesIngressNginx).

Pin to 38.0.2 (appVersion v3.6.6), the newest chart whose schema still
matches the tracked values file, overridable via TRAEFIK_CHART_VERSION.
A WebKit minibrowser crash during e2e leaves a multi-GB ELF core dump at
Tests/e2e/playwright/core. The root .gitignore's /core is anchored to the
repo root and does not match it, so ignore core/core.* in the playwright
test dir.
@KrisSimon
KrisSimon merged commit fed3118 into main Jul 7, 2026
13 checks passed
@KrisSimon
KrisSimon deleted the feature/update branch July 7, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant