Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge most recent main into I&A project branch #1293

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
3dede8d
chore!: Require Swift 5.7, fix deprecation warnings (#1173)
jbelkins Oct 11, 2023
67bc08d
feat: support initial-response in RPC based event streams (#1165)
dayaffe Oct 12, 2023
e2c3de2
chore: bump models (#1178)
sichanyoo Oct 12, 2023
3c5aeac
chore: Updates version to 0.28.0
aws-sdk-swift-automation Oct 12, 2023
a0ce157
add visionOS support to useragent (#1182)
dayaffe Oct 20, 2023
181256b
chore: Remove all models before copying in latest versions (#1185)
jbelkins Oct 23, 2023
1b7cc13
chore: update models (#1187)
jbelkins Oct 24, 2023
868e13b
chore: Update to aws-crt-swift 0.15.0 (#1188)
jbelkins Oct 24, 2023
5366bfc
chore: Updates version to 0.29.0
aws-sdk-swift-automation Oct 25, 2023
8d8baca
chore: Update swiftlint to 0.53.0 (#1192)
jbelkins Oct 26, 2023
7a25895
chore: End the SDK package manifest with a newline (#1203)
jbelkins Oct 30, 2023
d41d7ea
fix: Update CRT dependency to 0.17.0 (#1210)
sichanyoo Oct 31, 2023
668c5ce
chore: Updates version to 0.30.0
aws-sdk-swift-automation Oct 31, 2023
14f3c16
chore: Clean up unnecessary TODOs + move test functions to a better l…
dayaffe Oct 31, 2023
acc51fc
feat: expose presign / presignURL methods in Models.swift to service …
sichanyoo Nov 6, 2023
f3c1413
chore: Bump models in prep for release 0.31.0 (#1218)
jbelkins Nov 7, 2023
387016f
chore: Updates version to 0.31.0
aws-sdk-swift-automation Nov 7, 2023
268a4e2
fix: add s3 control to list of service clients that should have useSi…
dayaffe Nov 9, 2023
1732f96
update SQS to latest model that uses aws json protocol + add integrat…
dayaffe Nov 22, 2023
a4998bc
fix: Fix tests related to operation doc header (#1231)
jbelkins Nov 22, 2023
c23f658
fix: Codegen issues re: recursion, Swift keywords in unions (#1237)
jbelkins Nov 28, 2023
bc62ab4
fix: Integration test crashes on failure, build warning (#1239)
jbelkins Nov 28, 2023
1d63993
feat!: Replace the XML encoder with a custom Smithy implementation (#…
jbelkins Nov 29, 2023
387c62c
chore: Modernize the codegen-build-test CI workflow (#1240)
jbelkins Nov 29, 2023
6b7ac02
chore: Modernize the codegen-build-test-on-comment CI workflow (#1243)
jbelkins Nov 29, 2023
d0db2f3
fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-…
jbelkins Nov 29, 2023
7624f1e
feat!: Use closures for processing HTTP response (#1242)
jbelkins Nov 30, 2023
05cd31f
add IsTruncated pagination customization for S3 ListParts (#1245)
dayaffe Dec 1, 2023
96136a3
feat: Publish documentation to public distribution (#1232)
jbelkins Dec 1, 2023
f3c37d2
fix: Fix script for extracting version from GH ref (#1247)
jbelkins Dec 1, 2023
88779ff
chore: Codegen dev script takes args for manifest generator (#1246)
jbelkins Dec 1, 2023
9b8834b
fix: Use bash to run doc generator version step (#1248)
jbelkins Dec 1, 2023
32fb3c8
chore: Update models (#1252)
jbelkins Dec 5, 2023
3d2cfde
chore: Updates version to 0.32.0
aws-sdk-swift-automation Dec 5, 2023
e3347c1
fix: DocC post-testing fixes (#1249)
jbelkins Dec 5, 2023
460138e
chore: Run tvOS old & new in CI (#1253)
jbelkins Dec 6, 2023
85761ff
feat: Package manifest generator improvements (#1250)
jbelkins Dec 6, 2023
f188dd7
fix: Use new manifest generator options to run protocol & unit tests …
jbelkins Dec 7, 2023
30a9660
chore: remove use of HttpBody and replace with ByteStream (#1254)
dayaffe Dec 7, 2023
cb365e8
fix: Remove codegen-build-test-on-comment workflow (#1262)
jbelkins Dec 11, 2023
35a86e4
chore: update smithy to 1.42.0 (#1261)
dayaffe Dec 13, 2023
58bc3e5
feat: Add codegen-build-test workflow to pull requests (#1263)
jbelkins Dec 13, 2023
b07d672
fix: codegen-build-test with workflow dispatch & custom branch names …
jbelkins Dec 14, 2023
fb45f1f
fix integration tests (#1268)
dayaffe Dec 20, 2023
50628c6
chore: bump models (#1270)
dayaffe Dec 20, 2023
b0ff4a7
chore: Updates version to 0.33.0
aws-sdk-swift-automation Dec 20, 2023
8bfa5ef
fix: Batch documentation modules properly (#1274)
jbelkins Dec 22, 2023
b497522
chore: Update to aws-crt-swift 0.20.0 (#1275)
dayaffe Dec 22, 2023
a383887
fix: update partitions to latest fixes failing endpoints tests (#1277)
dayaffe Dec 22, 2023
a6b7f12
feat: handle errors in 200 response from S3 (#1266)
dayaffe Jan 4, 2024
05c08f5
chore: Use Xcode 15.1 as CI latest version (#1286)
jbelkins Jan 4, 2024
ed21c50
Delete unnecessary TODO item. (#1288)
sichanyoo Jan 5, 2024
aaf1152
Update models.
Jan 9, 2024
cfa1728
feat!: Use Foundation-based HTTP client on Apple platforms (#1282)
jbelkins Jan 9, 2024
dca1e8f
Merge main to project branch. Merge conflicts in generated code are i…
Jan 9, 2024
cc86780
Merge branch 'main' into chore/merge-main-to-project-branch
Jan 10, 2024
cd9814d
Fix models.
Jan 10, 2024
2e48d6f
Fix test cases to reflect I&A codegen changes.
Jan 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
94 changes: 0 additions & 94 deletions .github/workflows/codegen-build-test-on-comment.yml

This file was deleted.

78 changes: 39 additions & 39 deletions .github/workflows/codegen-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,64 @@ name: Codegen, Build, and Test

on:
workflow_dispatch:
pull_request:

env:
BUILDER_VERSION: v0.8.19
BUILDER_SOURCE: releases
# host owned by CRT team to host aws-crt-builder releases. Contact their on-call with any issues
BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
PACKAGE_NAME: aws-sdk-swift
LINUX_BASE_IMAGE: ubuntu-16-x64
RUN: ${{ github.run_id }}-${{ github.run_number }}
AWS_SDK_SWIFT_CI_DIR: /Users/runner/work/aws-sdk-swift/aws-sdk-swift
AWS_CRT_SWIFT_CI_DIR: /Users/runner/work/aws-sdk-swift/aws-sdk-swift/target/build/deps/aws-crt-swift
SMITHY_SWIFT_CI_DIR: /Users/runner/work/aws-sdk-swift/aws-sdk-swift/target/build/deps/smithy-swift
AWS_SWIFT_SDK_USE_LOCAL_DEPS: 1

jobs:
codegen-build-test:
runs-on: macos-13
environment: Codegen-Build-Test
env:
DEVELOPER_DIR: /Applications/Xcode_14.3.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_15.1.app/Contents/Developer
steps:
- name: Checkout sources
- name: Checkout aws-sdk-swift
uses: actions/checkout@v3
- name: Restore Cache
- name: Select smithy-swift branch
run: |
ORIGINAL_REPO_HEAD_REF="${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}" \
DEPENDENCY_REPO_URL="https://github.com/smithy-lang/smithy-swift.git" \
./scripts/ci_steps/select_dependency_branch.sh
- name: Checkout smithy-swift
uses: actions/checkout@v3
with:
repository: smithy-lang/smithy-swift
ref: ${{ env.DEPENDENCY_REPO_SHA }}
path: smithy-swift
- name: Move smithy-swift into place
run: mv smithy-swift ..
- name: Cache Gradle
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
key: 1-${{ runner.os }}-gradle-${{ hashFiles('settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Set up Java (Corretto 17)
1-${{ runner.os }}-gradle-${{ hashFiles('settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties') }}
1-${{ runner.os }}-gradle-
- name: Cache Swift
uses: actions/cache@v3
with:
path: |
~/Library/Caches/org.swift.swiftpm
~/.cache/org.swift.swiftpm
key: 1-${{ runner.os }}-${{ matrix.xcode }}-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }}
restore-keys: |
1-${{ runner.os }}-${{ matrix.xcode }}-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }}
1-${{ runner.os }}-${{ matrix.xcode }}-
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'corretto'
java-version: '17'
distribution: corretto
java-version: 17
- name: Tools Versions
run: ./scripts/ci_steps/log_tool_versions.sh
- name: Code-Generate SDK
run: ./scripts/ci_steps/codegen_sdk.sh
- name: Build and Run Unit Tests
run: |
which swiftc
swiftc --version
echo
which xcodebuild
xcodebuild -version
echo
which java
java --version
- name: Build and Test ${{ env.PACKAGE_NAME }}
run: |
python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
chmod a+x builder.pyz
./builder.pyz build -p ${{ env.PACKAGE_NAME }}
./gradlew -p codegen/sdk-codegen build
./gradlew -p codegen/sdk-codegen stageSdks
./gradlew --stop
./scripts/mergeModels.sh Sources/Services
cd AWSSDKSwiftCLI
swift run AWSSDKSwiftCLI generate-package-manifest ../
cd ..
cat Package.swift
swift build --build-tests
swift test --skip-build

24 changes: 15 additions & 9 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,29 @@ jobs:
- macos-13
xcode:
- Xcode_14.0.1
- Xcode_15.0
- Xcode_15.1
destination:
- 'platform=iOS Simulator,OS=16.0,name=iPhone 13'
- 'platform=iOS Simulator,OS=17.0,name=iPhone 14'
- 'platform=iOS Simulator,OS=16.0,name=iPhone 14'
- 'platform=iOS Simulator,OS=17.2,name=iPhone 15'
- 'platform=tvOS Simulator,OS=16.0,name=Apple TV 4K (at 1080p) (2nd generation)'
- 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)'
- 'platform=OS X'
exclude:
# Don't run old macOS with new Xcode
- runner: macos-12
xcode: Xcode_15.0
xcode: Xcode_15.1
# Don't run new macOS with old Xcode
- runner: macos-13
xcode: Xcode_14.0.1
# Don't run old iOS simulator with new Xcode
- destination: 'platform=iOS Simulator,OS=16.0,name=iPhone 13'
xcode: Xcode_15.0
# Don't run new iOS simulator with old Xcode
- destination: 'platform=iOS Simulator,OS=17.0,name=iPhone 14'
# Don't run old simulators with new Xcode
- destination: 'platform=tvOS Simulator,OS=16.0,name=Apple TV 4K (at 1080p) (2nd generation)'
xcode: Xcode_15.1
- destination: 'platform=iOS Simulator,OS=16.0,name=iPhone 14'
xcode: Xcode_15.1
# Don't run new simulators with old Xcode
- destination: 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)'
xcode: Xcode_14.0.1
- destination: 'platform=iOS Simulator,OS=17.2,name=iPhone 15'
xcode: Xcode_14.0.1
steps:
- name: Checkout aws-sdk-swift
Expand Down
98 changes: 98 additions & 0 deletions .github/workflows/generate-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Generate Documentation

on:
release:
types: [published]

permissions:
id-token: write

jobs:
generate-docs:
strategy:
fail-fast: false
matrix:
# Use strategy to split up the work into 32 jobs
job: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]
runs-on: ubuntu-latest
container: swift:5.9-jammy
env:
IGNORE: none
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CD_API_REFS_PUBLISH_ROLE_ARN }}
aws-region: us-east-1
- name: Install AWS CLI, jq, and native dependencies
run: |
DEBIAN_FRONTEND="noninteractive" apt-get update
apt-get -y install curl unzip openssl libssl-dev jq
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && ./aws/install
- name: Extract version from GITHUB_REF
id: set-version
shell: bash
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
echo "Tagged release"
# get last part of GITHUB_REF separated by /
VERSION=`echo $GITHUB_REF | tr '/' '\n' | tail -1`
echo "Version: $VERSION"
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
else
echo "Error: runs on a tag only"
exit 1
fi
- name: Generate docs
run: |
DOCS_BUCKET=${{ secrets.CD_API_REFS_BUCKET_NAME }} \
./scripts/generatedocc.sh "$VERSION" ${{ matrix.job }} ${{ strategy.job-total }} ${{ env.IGNORE }}
update-latest:
needs: generate-docs
runs-on: ubuntu-latest
steps:
- name: Configure AWS Credentials for publish role
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CD_API_REFS_PUBLISH_ROLE_ARN }}
aws-region: us-east-1
- name: Install AWS CLI
run: |
# Need to install aws cli from latest since GH runner doesn't yet have
# cloudfront-keyvaluestore in the preinstalled version
DEBIAN_FRONTEND="noninteractive" sudo apt-get update
sudo apt-get -y install curl unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install --update
- name: Update Cloudfront key value store
env:
VERSION: ${{ needs.generate-docs.outputs.version }}
run: |
export KVS_ETAG=`aws cloudfront-keyvaluestore describe-key-value-store \
--output text \
--query ETag \
--kvs-arn "${{ secrets.CD_CLOUDFRONT_KVS_ARN }}"`
aws cloudfront-keyvaluestore put-key \
--kvs-arn "${{ secrets.CD_CLOUDFRONT_KVS_ARN }}" \
--if-match "$KVS_ETAG" \
--key latest \
--value "$VERSION"
- name: Configure AWS Credentials for invalidation role
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CD_API_REFS_INVALIDATE_ROLE_ARN }}
aws-region: us-east-1
role-chaining: true
role-skip-session-tagging: true
- name: Invalidate sdk.amazonaws.com cache
run: |
aws cloudfront create-invalidation \
--distribution-id "${{ secrets.CD_CLOUDFRONT_PUBLIC_DISTRIBUTION_ID }}" \
--paths "/swift/*"

9 changes: 3 additions & 6 deletions AWSSDKSwiftCLI/Package.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// swift-tools-version: 5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.
// swift-tools-version: 5.7

import PackageDescription

Expand All @@ -24,10 +23,8 @@ let package = Package(
.product(name: "Logging", package: "swift-log"),
],
resources: [
.process("Resources/Package.Base.swift")
],
swiftSettings: [
.unsafeFlags(["-package-description-version", "5.7"])
.process("Resources/Package.Base.swift"),
.process("Resources/DocIndex.Base.md")
]
),
.testTarget(
Expand Down
3 changes: 2 additions & 1 deletion AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ struct AWSSDKSwiftCLI: ParsableCommand {
GeneratePackageManifestCommand.self,
PrepareReleaseCommand.self,
SyncClientRuntimeVersionCommand.self,
TestAWSSDKCommand.self
TestAWSSDKCommand.self,
GenerateDocIndexCommand.self
]
)
}
Loading
Loading