Skip to content

Commit

Permalink
Merge main to project branch. Merge conflicts in generated code are i…
Browse files Browse the repository at this point in the history
…gnored.
  • Loading branch information
Sichan Yoo committed Jan 9, 2024
2 parents aaf1152 + ed21c50 commit dca1e8f
Show file tree
Hide file tree
Showing 1,724 changed files with 728,916 additions and 68,877 deletions.
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

0 comments on commit dca1e8f

Please sign in to comment.