chore(deps): bump aws-sdk-swift from 1.6.71 to 1.7.27 - #4234
Merged
Conversation
thisisabhash
previously approved these changes
Jun 8, 2026
harsh62
force-pushed
the
worktree-bump-aws-sdk-swift-4233
branch
from
June 17, 2026 17:05
b590576 to
b5a42c4
Compare
harsh62
had a problem deploying
to
IntegrationTest
June 17, 2026 17:05 — with
GitHub Actions
Failure
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4234 +/- ##
==========================================
- Coverage 66.79% 66.75% -0.04%
==========================================
Files 1151 1151
Lines 43869 43869
==========================================
- Hits 29301 29284 -17
- Misses 14568 14585 +17
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Updates the aws-sdk-swift dependency to 1.7.27, which moves the transitive dependencies: aws-crt-swift 0.58.1 -> 0.63.0 smithy-swift 0.191.0 -> 0.223.0 swift-http-types 1.5.1 -> 1.6.0 aws-sdk-swift 1.7.21+ relaxes its aws-crt-swift constraint from exact: "0.61.1" to from: "0.63.0", so Amplify Swift and the AWS IoT Device SDK for Swift can now coexist in the same project without an aws-crt-swift version conflict. swift-http-types is bumped to 1.6.0 because the transitively-updated swift-nio-extras enables its new FoundationURL trait, which only exists as of swift-http-types 1.6.0. 1.7.27 (smithy-swift 0.223.0) is required: smithy-swift's schema-based JSON deserializer (introduced in 0.206.0) regressed null-value handling for non-sparse maps, which broke deserialization of Cognito RespondToAuthChallenge responses whose ChallengeParameters contain a null value (e.g. "FRIENDLY_DEVICE_NAME": null in the SELECT_MFA_TYPE challenge). smithy-swift 0.223.0 restores the prior behavior of tolerating null values in non-sparse maps. Resolves #4233
smithy-swift 0.219.0 (pulled transitively by aws-sdk-swift 1.7.21)
ships the SmithyCodeGeneratorPlugin build-tool plugin, which aws-sdk-swift
attaches to every service target. Two independent issues broke CI builds
on the embedded simulator platforms (watchOS/tvOS):
1. Xcode requires package build-tool plugins to be trusted before use,
which can't happen non-interactively in CI:
Validate plug-in "SmithyCodeGeneratorPlugin" ... ** BUILD FAILED **
Fixed by passing -skipPackagePluginValidation.
2. Passing -sdk <simulator> forces xcodebuild to build the plugin's host
tool (SmithyCodegenCLI, an executableTarget) for the simulator SDK,
where it can't link:
Build input file cannot be found: '.../SmithyCodegenCLI'
The -destination already specifies the platform, so -sdk is redundant.
Removed it; the host tool now builds for macOS and the library for the
target. (The sdk input is retained for the coverage-export path.)
Both changes are required; dropping either re-breaks the watchOS/tvOS
builds for a different reason.
AuthIntegrationTests and AuthGen2IntegrationTests declared target dependencies on BOTH AuthHostApp and AuthWatchApp. That pulled both apps into a single build graph, and since both link Amplify / AWSCognitoAuthPlugin (and transitively aws-sdk-swift), the new SmithyCodeGeneratorPlugin ran twice for each SDK service target, writing to the same aws-sdk-swift.output/<target>/ path: Multiple commands produce '.../AWSCognitoIdentitySchemas.swift' Every other plugin's host-app project depends each test bundle on a single app (e.g. Geo -> GeoHostApp), which builds cleanly. Match that structure: the iOS test bundles now depend only on AuthHostApp, and the watch test bundle on AuthWatchApp. Verified locally: 'xcodebuild build-for-testing -scheme AuthIntegrationTests' now reports TEST BUILD SUCCEEDED.
The integration XCTest bundles for Predictions, Kinesis/Firehose, and the Analytics watchOS target linked the Amplify/aws-sdk-swift package products directly (in both packageProductDependencies and the Frameworks build phase), in addition to their host app linking them. With smithy-swift 0.219.0's SmithyCodeGeneratorPlugin (pulled in by aws-sdk-swift 1.7.21), this makes the build-tool plugin run twice for each aws-sdk-swift service target — host app build + test bundle build — both writing to the same package-keyed output directory: Multiple commands produce '.../AWSCognitoIdentitySchemas.swift' Build input files cannot be found: '.../InternalAWSCognitoIdentity...' Passing projects (Geo, Storage, Logging, Analytics iOS/tvOS) link the SDK products only from the app targets; their test bundles rely on the host app via TEST_HOST. Match that: remove the redundant product links from the affected test bundles. Verified locally: AWSPredictionsPluginIntegrationTests and AmplifyKinesisClientIntegrationTests now build with no plugin-output collision (TEST BUILD SUCCEEDED).
thisisabhash
approved these changes
Jun 30, 2026
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Resolves #4233
Upstream tracking: awslabs/aws-sdk-swift#2181 (resolved)
Description
Bumps the
aws-sdk-swiftdependency from1.6.71to1.7.21. This moves the transitive dependencies:Why this resolves #4233
#4233 reported that Amplify Swift and the AWS IoT Device SDK for Swift could not coexist in the same project because of conflicting
aws-crt-swiftversions. The IoT SDK requiresaws-crt-swift >= 0.61.2, whileaws-sdk-swiftpinnedaws-crt-swiftwith a hardexact:constraint.As of
aws-sdk-swift 1.7.21, that constraint was relaxed fromexact: "0.61.1"tofrom: "0.63.0"(tracked in awslabs/aws-sdk-swift#2181, now closed as resolved). With this bump, Amplify resolvesaws-crt-swift 0.63.0via a floating range, so SPM can satisfy both Amplify and the AWS IoT Device SDK for Swift in a single project.Testing
swift package resolvesucceeds and regeneratesPackage.resolvedwith the versions above.