fix: Make operations correctly model service errors #2369
Workflow file for this run
This file contains 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
name: CI | |
on: | |
pull_request: | |
workflow_dispatch: | |
env: | |
AWS_SWIFT_SDK_USE_LOCAL_DEPS: 1 | |
jobs: | |
apple: | |
runs-on: ${{ matrix.runner }} | |
env: | |
DEVELOPER_DIR: /Applications/${{ matrix.xcode }}.app/Contents/Developer | |
strategy: | |
fail-fast: false | |
matrix: | |
# This matrix runs tests on iOS sim & Mac, on oldest & newest supported Xcodes | |
runner: | |
- macos-11 | |
- macos-13 | |
xcode: | |
# Xcode 13.2.1 is used as oldest because 13.2 is the first version which backports concurrency | |
- Xcode_13.2.1 | |
- Xcode_14.3.1 | |
destination: | |
- 'platform=iOS Simulator,OS=15.2,name=iPhone 13' | |
- 'platform=iOS Simulator,OS=16.4,name=iPhone 14' | |
- 'platform=OS X' | |
exclude: | |
# Don't run old macOS with new Xcode | |
- runner: macos-11 | |
xcode: Xcode_14.3.1 | |
# Don't run new macOS with old Xcode | |
- runner: macos-13 | |
xcode: Xcode_13.2.1 | |
# Don't run old iOS simulator with new Xcode | |
- destination: 'platform=iOS Simulator,OS=15.2,name=iPhone 13' | |
xcode: Xcode_14.3.1 | |
# Don't run new iOS simulator with old Xcode | |
- destination: 'platform=iOS Simulator,OS=16.4,name=iPhone 14' | |
xcode: Xcode_13.2.1 | |
steps: | |
- name: Checkout aws-sdk-swift | |
uses: actions/checkout@v3 | |
- name: Select smithy-swift branch | |
run: | | |
ORIGINAL_REPO_HEAD_REF="$GITHUB_HEAD_REF" \ | |
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: 1-${{ runner.os }}-gradle-${{ hashFiles('settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties') }} | |
restore-keys: | | |
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 | |
- name: Tools Versions | |
run: ./scripts/ci_steps/log_tool_versions.sh | |
- name: Prepare Protocol & Unit Tests | |
run: | | |
./scripts/ci_steps/prepare_protocol_and_unit_tests.sh | |
- name: Build and Run Protocol & Unit Tests | |
run: | | |
set -o pipefail && \ | |
NSUnbufferedIO=YES xcodebuild \ | |
-scheme aws-sdk-swift \ | |
-destination '${{ matrix.destination }}' \ | |
test 2>&1 \ | |
| xcpretty | |
linux: | |
runs-on: ubuntu-latest | |
container: swift:${{ matrix.version }}-${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- focal | |
- amazonlinux2 | |
version: | |
- 5.5.3 | |
- 5.8.1 | |
steps: | |
- name: Checkout aws-sdk-swift | |
uses: actions/checkout@v3 | |
- name: Select smithy-swift branch | |
run: | | |
ORIGINAL_REPO_HEAD_REF="${GITHUB_HEAD_REF:-${GITHUB_REF_NAME:-main}}" \ | |
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: 1-${{ runner.os }}-gradle-${{ hashFiles('settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties') }} | |
restore-keys: | | |
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 }}-swift5.8.1-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} | |
restore-keys: | | |
1-${{ runner.os }}-swift5.8.1-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} | |
1-${{ runner.os }}-swift5.8.1-spm- | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: corretto | |
java-version: 17 | |
- name: Install OpenSSL (all OS) and which (AL2 only) | |
run: ./scripts/ci_steps/install_native_linux_dependencies.sh | |
- name: Tools Versions | |
run: ./scripts/ci_steps/log_tool_versions.sh | |
- name: Prepare Protocol & Unit Tests | |
run: | | |
./scripts/ci_steps/prepare_protocol_and_unit_tests.sh | |
- name: Build and Run Protocol & Unit Tests on Linux | |
run: swift test |