From 2604241a75bf96fe1185e0abb4f7cf905a697d42 Mon Sep 17 00:00:00 2001
From: Sebastian Villena <97059974+ruisebas@users.noreply.github.com>
Date: Thu, 2 Nov 2023 14:42:37 -0400
Subject: [PATCH] chore: Adding caching and retries to Integration Tests
workflows (#3339)
---
.../get_platform_parameters/action.yml | 60 +++++++
.github/workflows/integ_test.yml | 36 +----
.github/workflows/integ_test_analytics.yml | 105 +++---------
.github/workflows/integ_test_api.yml | 34 ++--
.../workflows/integ_test_api_functional.yml | 105 +++---------
.../integ_test_api_graphql_auth_directive.yml | 75 +++------
.../workflows/integ_test_api_graphql_iam.yml | 75 +++------
.../integ_test_api_graphql_lambda_auth.yml | 105 +++---------
.../integ_test_api_graphql_lazy_load.yml | 75 +++------
.../integ_test_api_graphql_user_pool.yml | 75 +++------
.github/workflows/integ_test_api_rest_iam.yml | 105 +++---------
.../integ_test_api_rest_user_pool.yml | 75 +++------
.github/workflows/integ_test_auth.yml | 140 ++++------------
.github/workflows/integ_test_datastore.yml | 32 +---
.../integ_test_datastore_auth_cognito.yml | 111 +++----------
.../integ_test_datastore_auth_iam.yml | 111 +++----------
.../workflows/integ_test_datastore_base.yml | 111 +++----------
.../workflows/integ_test_datastore_cpk.yml | 111 +++----------
.../integ_test_datastore_lazy_load.yml | 111 +++----------
.../integ_test_datastore_multi_auth.yml | 111 +++----------
.github/workflows/integ_test_datastore_v2.yml | 111 +++----------
.github/workflows/integ_test_geo.yml | 107 +++---------
.github/workflows/integ_test_logging.yml | 105 +++---------
.github/workflows/integ_test_predictions.yml | 120 +++-----------
.../integ_test_push_notifications.yml | 153 ++++++++----------
.github/workflows/integ_test_storage.yml | 105 +++---------
.github/workflows/run_integration_tests.yml | 122 ++++++++++++++
.gitignore | 6 -
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
.../contents.xcworkspacedata | 7 -
.../xcshareddata/IDEWorkspaceChecks.plist | 8 -
.../xcshareddata/swiftpm/Package.resolved | 113 -------------
46 files changed, 697 insertions(+), 2663 deletions(-)
create mode 100644 .github/composite_actions/get_platform_parameters/action.yml
create mode 100644 .github/workflows/run_integration_tests.yml
delete mode 100644 AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
delete mode 100644 AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
delete mode 100644 AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
delete mode 100644 AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
delete mode 100644 AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
delete mode 100644 AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
delete mode 100644 AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
delete mode 100644 AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
diff --git a/.github/composite_actions/get_platform_parameters/action.yml b/.github/composite_actions/get_platform_parameters/action.yml
new file mode 100644
index 0000000000..d007eca053
--- /dev/null
+++ b/.github/composite_actions/get_platform_parameters/action.yml
@@ -0,0 +1,60 @@
+name: 'Get the build parameters for a given platform'
+inputs:
+ platform:
+ description: 'The name of the platform. Valid values are iOS, tvOS, watchOS and macOS'
+ required: true
+ type: string
+ xcode_version:
+ description: 'The version of Xcode. Valid values are 14.3 and 15.0'
+ required: true
+ type: string
+outputs:
+ destination:
+ description: "The destination associated with the given platform and Xcode version"
+ value: ${{ steps.platform.outputs.destination }}
+ sdk:
+ description: "The SDK associated with the given platform"
+ value: ${{ steps.platform.outputs.sdk }}
+runs:
+ using: "composite"
+ steps:
+ - id: platform
+ run: |
+ PLATFORM=${{ inputs.platform }}
+ case $PLATFORM in
+ iOS|tvOS|watchOS|macOS) ;;
+ *) echo "Unsupported platform: $PLATFORM"; exit 1 ;;
+ esac
+
+ XCODE_VERSION=${{ inputs.xcode_version }}
+ case $XCODE_VERSION in
+ 14.3|15.0) ;;
+ *) echo "Unsupported Xcode version: $XCODE_VERSION"; exit 1 ;;
+ esac
+
+ DESTINATION_MAPPING='{
+ "14.3": {
+ "iOS": "platform=iOS Simulator,name=iPhone 14,OS=16.4",
+ "tvOS": "platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=16.4",
+ "watchOS": "platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=9.4",
+ "macOS": "platform=macOS,arch=x86_64"
+ },
+ "15.0": {
+ "iOS": "platform=iOS Simulator,name=iPhone 15,OS=latest",
+ "tvOS": "platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest",
+ "watchOS": "platform=watchOS Simulator,name=Apple Watch Series 9 (45mm),OS=latest",
+ "macOS": "platform=macOS,arch=x86_64"
+ }
+ }'
+
+ SDK_MAPPING='{
+ "iOS": "iphonesimulator",
+ "tvOS": "appletvsimulator",
+ "watchOS": "watchsimulator",
+ "macOS": "macosx"
+ }'
+
+ echo "destination=$(echo $DESTINATION_MAPPING | jq -r ."\"$XCODE_VERSION\"".$PLATFORM)" >> $GITHUB_OUTPUT
+ echo "sdk=$(echo $SDK_MAPPING | jq -r .$PLATFORM)" >> $GITHUB_OUTPUT
+ shell: bash
+
diff --git a/.github/workflows/integ_test.yml b/.github/workflows/integ_test.yml
index e1e08c6b41..fb89cceacb 100644
--- a/.github/workflows/integ_test.yml
+++ b/.github/workflows/integ_test.yml
@@ -1,12 +1,6 @@
name: Integration Tests
on:
workflow_dispatch:
- workflow_call:
- inputs:
- identifier:
- required: true
- type: string
-
push:
branches: [main]
@@ -19,53 +13,37 @@ concurrency:
cancel-in-progress: ${{ github.ref_name != 'main'}}
jobs:
- prepare-for-test:
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Verify copy resources
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: NA
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
analytics-test:
- needs: prepare-for-test
+ name: Analytics Integration Tests
uses: ./.github/workflows/integ_test_analytics.yml
secrets: inherit
push-notifications-test:
- needs: prepare-for-test
+ name: Push Notifications Integration Tests
uses: ./.github/workflows/integ_test_push_notifications.yml
secrets: inherit
predictions-test:
- needs: prepare-for-test
+ name: Predictions Integration Tests
uses: ./.github/workflows/integ_test_predictions.yml
secrets: inherit
auth-test:
- needs: prepare-for-test
+ name: Auth Integration Tests
uses: ./.github/workflows/integ_test_auth.yml
secrets: inherit
geo-test:
- needs: prepare-for-test
+ name: Geo Integration Tests
uses: ./.github/workflows/integ_test_geo.yml
secrets: inherit
storage-test:
- needs: prepare-for-test
+ name: Storage Integration Tests
uses: ./.github/workflows/integ_test_storage.yml
secrets: inherit
logging-test:
- needs: prepare-for-test
+ name: Logging Integration Tests
uses: ./.github/workflows/integ_test_logging.yml
secrets: inherit
diff --git a/.github/workflows/integ_test_analytics.yml b/.github/workflows/integ_test_analytics.yml
index 8dccaee2d8..f88d59e0ce 100644
--- a/.github/workflows/integ_test_analytics.yml
+++ b/.github/workflows/integ_test_analytics.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- analytics-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: analytics
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Analytics/Tests/AnalyticsHostApp
- scheme: AWSPinpointAnalyticsPluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=latest'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- analytics-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: analytics
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Analytics/Tests/AnalyticsHostApp
- scheme: AWSPinpointAnalyticsPluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- analytics-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: analytics
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Analytics/Tests/AnalyticsHostApp
- scheme: AWSPinpointAnalyticsPluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ analytics-integration-tests:
+ name: Analytics Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSPinpointAnalyticsPluginIntegrationTestsWatch' || 'AWSPinpointAnalyticsPluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSPinpointAnalyticsPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Analytics/Tests/AnalyticsHostApp
+ xcode_version: '14.3'
+ resource_subfolder: analytics
+ timeout-minutes: 30
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api.yml b/.github/workflows/integ_test_api.yml
index f4966eeccd..eee3d88d0a 100644
--- a/.github/workflows/integ_test_api.yml
+++ b/.github/workflows/integ_test_api.yml
@@ -10,66 +10,50 @@ permissions:
concurrency:
group: ${{ github.head_ref || github.run_id }}
- cancel-in-progress: true
+ cancel-in-progress: ${{ github.ref_name != 'main'}}
jobs:
- prepare-for-test:
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Verify copy resources
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: NA
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
functional-test:
- needs: prepare-for-test
+ name: Functional Tests
uses: ./.github/workflows/integ_test_api_functional.yml
secrets: inherit
graphql-user-pool-test:
if: ${{ false }}
- needs: prepare-for-test
+ name: GraphQL | User Pool Tests
uses: ./.github/workflows/integ_test_api_graphql_user_pool.yml
secrets: inherit
graphql-auth-directive-test:
if: ${{ false }}
- needs: prepare-for-test
+ name: GraphQL | Auth Directive Tests
uses: ./.github/workflows/integ_test_api_graphql_auth_directive.yml
secrets: inherit
graphql-iam-test:
if: ${{ false }}
- needs: prepare-for-test
+ name: GraphQL | IAM Tests
uses: ./.github/workflows/integ_test_api_graphql_iam.yml
secrets: inherit
graphql-lambda-auth-test:
- needs: prepare-for-test
+ name: GraphQL | Lambda Tests
uses: ./.github/workflows/integ_test_api_graphql_lambda_auth.yml
secrets: inherit
graphql-lazy-load-test:
if: ${{ false }}
- needs: prepare-for-test
+ name: GraphQL | Lazy Load Tests
uses: ./.github/workflows/integ_test_api_graphql_lazy_load.yml
secrets: inherit
rest-user-pool-test:
if: ${{ false }}
- needs: prepare-for-test
+ name: REST | User Pool Tests
uses: ./.github/workflows/integ_test_api_rest_user_pool.yml
secrets: inherit
rest-iam-test:
- needs: prepare-for-test
+ name: REST | IAM Tests
uses: ./.github/workflows/integ_test_api_rest_iam.yml
secrets: inherit
diff --git a/.github/workflows/integ_test_api_functional.yml b/.github/workflows/integ_test_api_functional.yml
index ac1db905ed..c8874243fe 100644
--- a/.github/workflows/integ_test_api_functional.yml
+++ b/.github/workflows/integ_test_api_functional.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- api-functional-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginFunctionalTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-functional-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginFunctionalTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-functional-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginFunctionalTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-functional-tests:
+ name: API Integration Tests | Functional
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSAPIPluginFunctionalTestsWatch' || 'AWSAPIPluginFunctionalTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_graphql_auth_directive.yml b/.github/workflows/integ_test_api_graphql_auth_directive.yml
index 22f1fc95be..46ff30d925 100644
--- a/.github/workflows/integ_test_api_graphql_auth_directive.yml
+++ b/.github/workflows/integ_test_api_graphql_auth_directive.yml
@@ -19,59 +19,22 @@ permissions:
contents: read
jobs:
- api-graphql-auth-directive-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLAuthDirectiveTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-graphql-auth-directive-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLAuthDirectiveTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
\ No newline at end of file
+ api-graphql-auth-directive-tests:
+ name: API Integration Tests | GraphQL Auth Directive
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AWSAPIPluginGraphQLAuthDirectiveTests
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_graphql_iam.yml b/.github/workflows/integ_test_api_graphql_iam.yml
index c5cdfa6082..94dccec965 100644
--- a/.github/workflows/integ_test_api_graphql_iam.yml
+++ b/.github/workflows/integ_test_api_graphql_iam.yml
@@ -19,59 +19,22 @@ permissions:
contents: read
jobs:
- api-graphql-iam-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLIAMTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-graphql-iam-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLIAMTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-graphql-iam-tests:
+ name: API Integration Tests | GraphQL IAM
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AWSAPIPluginGraphQLIAMTests
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_graphql_lambda_auth.yml b/.github/workflows/integ_test_api_graphql_lambda_auth.yml
index 5ed3b0cda9..f1f699f851 100644
--- a/.github/workflows/integ_test_api_graphql_lambda_auth.yml
+++ b/.github/workflows/integ_test_api_graphql_lambda_auth.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- api-graphql-lambda-auth-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLLambdaAuthTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-graphql-lambda-auth-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLLambdaAuthTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-graphql-lambda-auth-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLLambdaAuthTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-graphql-lambda-auth-tests:
+ name: API Integration Tests | GraphQL Lambda
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSAPIPluginGraphQLLambdaAuthTestsWatch' || 'AWSAPIPluginGraphQLLambdaAuthTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_graphql_lazy_load.yml b/.github/workflows/integ_test_api_graphql_lazy_load.yml
index e731ebe3f0..332e71eec5 100644
--- a/.github/workflows/integ_test_api_graphql_lazy_load.yml
+++ b/.github/workflows/integ_test_api_graphql_lazy_load.yml
@@ -19,59 +19,22 @@ permissions:
contents: read
jobs:
- api-lazy-load-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginLazyLoadTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-lazy-load-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginLazyLoadTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-lazy-load-tests:
+ name: API Integration Tests | GraphQL Lazy Load
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AWSAPIPluginLazyLoadTests
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_graphql_user_pool.yml b/.github/workflows/integ_test_api_graphql_user_pool.yml
index 75944dc9ca..e3f10fd1eb 100644
--- a/.github/workflows/integ_test_api_graphql_user_pool.yml
+++ b/.github/workflows/integ_test_api_graphql_user_pool.yml
@@ -19,59 +19,22 @@ permissions:
contents: read
jobs:
- api-graphql-user-pool-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLUserPoolTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-graphql-user-pool-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginGraphQLUserPoolTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-graphql-user-pool-tests:
+ name: API Integration Tests | GraphQL User Pool
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AWSAPIPluginGraphQLUserPoolTests
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
\ No newline at end of file
diff --git a/.github/workflows/integ_test_api_rest_iam.yml b/.github/workflows/integ_test_api_rest_iam.yml
index 125c884f2c..aa3b203b3f 100644
--- a/.github/workflows/integ_test_api_rest_iam.yml
+++ b/.github/workflows/integ_test_api_rest_iam.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- api-rest-iam-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginRESTIAMTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-rest-iam-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginRESTIAMTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-rest-iam-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginRESTIAMTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ api-rest-iam-tests:
+ name: API Integration Tests | REST IAM
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSAPIPluginRESTIAMTestsWatch' || 'AWSAPIPluginRESTIAMTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_api_rest_user_pool.yml b/.github/workflows/integ_test_api_rest_user_pool.yml
index 186c457baa..c88f87099b 100644
--- a/.github/workflows/integ_test_api_rest_user_pool.yml
+++ b/.github/workflows/integ_test_api_rest_user_pool.yml
@@ -19,59 +19,22 @@ permissions:
contents: read
jobs:
- api-rest-user-pool-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginRESTUserPoolTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- api-rest-user-pool-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: api
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/API/Tests/APIHostApp
- scheme: AWSAPIPluginRESTUserPoolTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
\ No newline at end of file
+ api-rest-user-pool-tests:
+ name: API Integration Tests | REST User Pool
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AWSAPIPluginRESTUserPoolTests
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSAPIPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/API/Tests/APIHostApp
+ xcode_version: '14.3'
+ resource_subfolder: api
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_auth.yml b/.github/workflows/integ_test_auth.yml
index 277335edca..fef7e2c13a 100644
--- a/.github/workflows/integ_test_auth.yml
+++ b/.github/workflows/integ_test_auth.yml
@@ -29,114 +29,36 @@ permissions:
contents: read
jobs:
- auth-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: auth
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Auth/Tests/AuthHostApp/
- scheme: AuthIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- auth-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: auth
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Auth/Tests/AuthHostApp/
- scheme: AuthIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- auth-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: auth
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Auth/Tests/AuthHostApp/
- scheme: AuthIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ auth-integration-tests:
+ name: Auth Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AuthIntegrationTestsWatch' || 'AuthIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSCognitoAuthPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Auth/Tests/AuthHostApp/
+ xcode_version: '14.3'
+ resource_subfolder: auth
+ timeout-minutes: 30
+ secrets: inherit
auth-ui-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.hostedui-ios }}
- runs-on: macos-12
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: auth
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Auth/Tests/AuthHostedUIApp/
- scheme: AuthHostedUIApp
+ if: ${{ inputs.hostedui-ios != 'false' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: AuthHostedUIApp
+ platform: iOS
+ build_cache_key: AWSCognitoAuthPlugin-iOS-latest-build-main
+ project_path: ./AmplifyPlugins/Auth/Tests/AuthHostedUIApp/
+ xcode_version: '14.3'
+ resource_subfolder: auth
+ timeout-minutes: 30
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore.yml b/.github/workflows/integ_test_datastore.yml
index 462f28e700..1cd2063062 100644
--- a/.github/workflows/integ_test_datastore.yml
+++ b/.github/workflows/integ_test_datastore.yml
@@ -10,56 +10,40 @@ permissions:
concurrency:
group: ${{ github.head_ref || github.run_id }}
- cancel-in-progress: true
+ cancel-in-progress: ${{ github.ref_name != 'main'}}
jobs:
- prepare-for-test:
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Verify copy resources
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: NA
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
datastore-base-test:
- needs: prepare-for-test
+ name: Base Tests
uses: ./.github/workflows/integ_test_datastore_base.yml
secrets: inherit
datastore-auth-iam-test:
- needs: prepare-for-test
+ name: Auth IAM Tests
uses: ./.github/workflows/integ_test_datastore_auth_iam.yml
secrets: inherit
datastore-cpk-test:
- needs: prepare-for-test
+ name: CPK Tests
uses: ./.github/workflows/integ_test_datastore_cpk.yml
secrets: inherit
datastore-lazy-load-test:
- needs: prepare-for-test
+ name: Lazy Load Tests
uses: ./.github/workflows/integ_test_datastore_lazy_load.yml
secrets: inherit
datastore-multi-auth-test:
- needs: prepare-for-test
+ name: Multi Auth Tests
uses: ./.github/workflows/integ_test_datastore_multi_auth.yml
secrets: inherit
datastore-transformer-v2-test:
- needs: prepare-for-test
+ name: Transformer V2 Tests
uses: ./.github/workflows/integ_test_datastore_v2.yml
secrets: inherit
datastore-auth-cognito-test:
- needs: prepare-for-test
+ name: Auth Cognito Tests
uses: ./.github/workflows/integ_test_datastore_auth_cognito.yml
secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_auth_cognito.yml b/.github/workflows/integ_test_datastore_auth_cognito.yml
index 8da62dc393..7ed891f883 100644
--- a/.github/workflows/integ_test_datastore_auth_cognito.yml
+++ b/.github/workflows/integ_test_datastore_auth_cognito.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-auth-cognito-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthCognitoTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-auth-cognito-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthCognitoTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-auth-cognito-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthCognitoTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-auth-cognito-tests:
+ name: DataStore Integration Tests | Auth Cognito
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginAuthCognitoTestsWatch' || 'AWSDataStorePluginAuthCognitoTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_auth_iam.yml b/.github/workflows/integ_test_datastore_auth_iam.yml
index 568834765e..3b2f4af585 100644
--- a/.github/workflows/integ_test_datastore_auth_iam.yml
+++ b/.github/workflows/integ_test_datastore_auth_iam.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-auth-iam-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthIAMTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-auth-iam-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthIAMTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-auth-iam-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginAuthIAMTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-auth-iam-tests:
+ name: DataStore Integration Tests | Auth IAM
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginAuthIAMTestsWatch' || 'AWSDataStorePluginAuthIAMTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_base.yml b/.github/workflows/integ_test_datastore_base.yml
index ba45454837..06c51f8785 100644
--- a/.github/workflows/integ_test_datastore_base.yml
+++ b/.github/workflows/integ_test_datastore_base.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-test-base-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-test-base-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-test-base-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-tests:
+ name: DataStore Integration Tests | Base
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginIntegrationTestsWatch' || 'AWSDataStorePluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_cpk.yml b/.github/workflows/integ_test_datastore_cpk.yml
index 1f48780ee7..8e97bb1e07 100644
--- a/.github/workflows/integ_test_datastore_cpk.yml
+++ b/.github/workflows/integ_test_datastore_cpk.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-cpk-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginCPKTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-cpk-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginCPKTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-cpk-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginCPKTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
\ No newline at end of file
+ datastore-integration-cpk-tests:
+ name: DataStore Integration Tests | CPK
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginCPKTestsWatch' || 'AWSDataStorePluginCPKTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_lazy_load.yml b/.github/workflows/integ_test_datastore_lazy_load.yml
index ab0e5f8cff..388d28f1d2 100644
--- a/.github/workflows/integ_test_datastore_lazy_load.yml
+++ b/.github/workflows/integ_test_datastore_lazy_load.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-lazy-load-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginLazyLoadTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-lazy-load-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginLazyLoadTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-lazy-load-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginLazyLoadTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-lazy-load-tests:
+ name: DataStore Integration Tests | Lazy Load
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginLazyLoadTestsWatch' || 'AWSDataStorePluginLazyLoadTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_multi_auth.yml b/.github/workflows/integ_test_datastore_multi_auth.yml
index 93fc522563..e8900c4f24 100644
--- a/.github/workflows/integ_test_datastore_multi_auth.yml
+++ b/.github/workflows/integ_test_datastore_multi_auth.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-multi-auth-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginMultiAuthTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-multi-auth-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginMultiAuthTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-multi-auth-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginMultiAuthTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-multi-auth-tests:
+ name: DataStore Integration Tests | Multi Auth
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginMultiAuthTestsWatch' || 'AWSDataStorePluginMultiAuthTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_datastore_v2.yml b/.github/workflows/integ_test_datastore_v2.yml
index 262a8a6aaa..f842b38c13 100644
--- a/.github/workflows/integ_test_datastore_v2.yml
+++ b/.github/workflows/integ_test_datastore_v2.yml
@@ -24,94 +24,23 @@ permissions:
contents: read
jobs:
- datastore-integration-v2-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginV2Tests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-v2-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginV2Tests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
-
- datastore-integration-v2-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- timeout-minutes: 60
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: datastore
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
- scheme: AWSDataStorePluginV2TestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
- other_flags: '-test-iterations 3 -retry-tests-on-failure'
+ datastore-integration-v2-tests:
+ name: DataStore Integration Tests | Transformer V2
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSDataStorePluginV2TestsWatch' || 'AWSDataStorePluginV2Tests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSDataStorePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/DataStore/Tests/DataStoreHostApp
+ xcode_version: '14.3'
+ resource_subfolder: datastore
+ timeout-minutes: 120
+ secrets: inherit
diff --git a/.github/workflows/integ_test_geo.yml b/.github/workflows/integ_test_geo.yml
index 4ba3bcf0e6..7effa17ab9 100644
--- a/.github/workflows/integ_test_geo.yml
+++ b/.github/workflows/integ_test_geo.yml
@@ -1,4 +1,4 @@
-name: Integration Test | Geo
+name: Integration Tests | Geo
on:
workflow_dispatch:
inputs:
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- geo-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: geo
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Geo/Tests/GeoHostApp/
- scheme: AWSLocationGeoPluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- geo-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: geo
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Geo/Tests/GeoHostApp/
- scheme: AWSLocationGeoPluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- geo-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: geo
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Geo/Tests/GeoHostApp/
- scheme: AWSLocationGeoPluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ geo-integration-tests:
+ name: Geo Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSLocationGeoPluginIntegrationTestsWatch' || 'AWSLocationGeoPluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSLocationGeoPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Geo/Tests/GeoHostApp/
+ xcode_version: '14.3'
+ resource_subfolder: geo
+ timeout-minutes: 30
+ secrets: inherit
diff --git a/.github/workflows/integ_test_logging.yml b/.github/workflows/integ_test_logging.yml
index 738a5bcf75..770b87a2fb 100644
--- a/.github/workflows/integ_test_logging.yml
+++ b/.github/workflows/integ_test_logging.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- logging-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: logging
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Logging/Tests/AWSCloudWatchLoggingPluginHostApp
- scheme: AWSCloudWatchLoggingPluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- logging-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: logging
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Logging/Tests/AWSCloudWatchLoggingPluginHostApp
- scheme: AWSCloudWatchLoggingPluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- logging-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: logging
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Logging/Tests/AWSCloudWatchLoggingPluginHostApp
- scheme: AWSCloudWatchLoggingPluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 9 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_15.0.app'
+ logging-integration-tests:
+ name: Logging Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSCloudWatchLoggingPluginIntegrationTestsWatch' || 'AWSCloudWatchLoggingPluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSCloudWatchLoggingPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Logging/Tests/AWSCloudWatchLoggingPluginHostApp
+ xcode_version: ${{ matrix.platform == 'watchOS' && '15.0' || '14.3' }}
+ resource_subfolder: logging
+ timeout-minutes: 45
+ secrets: inherit
diff --git a/.github/workflows/integ_test_predictions.yml b/.github/workflows/integ_test_predictions.yml
index b661a77541..a555d2d43b 100644
--- a/.github/workflows/integ_test_predictions.yml
+++ b/.github/workflows/integ_test_predictions.yml
@@ -24,103 +24,23 @@ permissions:
contents: read
jobs:
- predictions-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- continue-on-error: true
- timeout-minutes: 30
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: predictions
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: List the copied configurations
- run: ls ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Predictions/Tests/PredictionsHostApp
- scheme: AWSPredictionsPluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- predictions-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- continue-on-error: true
- timeout-minutes: 30
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: predictions
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: List the copied configurations
- run: ls ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Predictions/Tests/PredictionsHostApp
- scheme: AWSPredictionsPluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- predictions-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- continue-on-error: true
- timeout-minutes: 30
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: predictions
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG }}
-
- - name: List the copied configurations
- run: ls ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Predictions/Tests/PredictionsHostApp
- scheme: AWSPredictionsPluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ predictions-integration-tests:
+ name: Predictions Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSPredictionsPluginIntegrationTestsWatch' || 'AWSPredictionsPluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSPredictionsPlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Predictions/Tests/PredictionsHostApp
+ xcode_version: '14.3'
+ resource_subfolder: predictions
+ timeout-minutes: 30
+ secrets: inherit
diff --git a/.github/workflows/integ_test_push_notifications.yml b/.github/workflows/integ_test_push_notifications.yml
index 242b28667c..0cbc663f54 100644
--- a/.github/workflows/integ_test_push_notifications.yml
+++ b/.github/workflows/integ_test_push_notifications.yml
@@ -24,72 +24,68 @@ permissions:
contents: read
jobs:
- push-notification-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
+ push-notification-integration-tests:
+ name: ${{ matrix.platform }} Tests | PushNotificationHostApp
runs-on: macos-13
- timeout-minutes: 45
+ timeout-minutes: 30
environment: IntegrationTest
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
+ - name: Checkout repository
+ uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 #v3.5.3
with:
persist-credentials: false
-
- - name: Make directory
+
+ - name: Get build parameters for ${{ matrix.platform}}
+ id: platform
+ uses: ./.github/composite_actions/get_platform_parameters
+ with:
+ platform: ${{ matrix.platform }}
+ xcode_version: '14.3'
+
+ - name: Create the test configuration directory
run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
- - name: Copy integration test resouces
+ - name: Download the Integration Test configurations
uses: ./.github/composite_actions/download_test_configuration
with:
resource_subfolder: push-notification
aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws_region: ${{ secrets.AWS_REGION }}
aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
+ destination: ~/.aws-amplify/amplify-ios/testconfiguration/
- name: Set up node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c
with:
node-version: 16.x
- - name: Run Local Server
- run: |
- cd ./AmplifyPlugins/Notifications/Push/Tests/PushNotificationHostApp/LocalServer
- npm install
- npm start &
- shell: bash
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
+ - name: Attempt to use the dependencies cache
+ id: dependencies-cache
+ timeout-minutes: 4
+ continue-on-error: true
+ uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
- project_path: ./AmplifyPlugins/Notifications/Push/Tests/PushNotificationHostApp
- scheme: PushNotificationHostApp
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- push-notification-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- timeout-minutes: 30
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
+ path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ key: amplify-packages-${{ hashFiles('Package.resolved') }}
+ restore-keys: |
+ amplify-packages-
+
+ - name: Attempt to use the provided build cache
+ id: build-cache
+ timeout-minutes: 4
+ continue-on-error: true
+ uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: push-notification
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Set up node
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c
- with:
- node-version: 16.x
+ path: ${{ github.workspace }}/Build
+ key: AWSPinpointPushNotificationsPlugin-${{ matrix.platform }}-latest-build-main
- name: Run Local Server
run: |
@@ -98,53 +94,32 @@ jobs:
npm start &
shell: bash
- - name: Run Integration test
+ - name: Run ${{ matrix.platform }} Integration Tests
+ id: run-tests
+ continue-on-error: true
uses: ./.github/composite_actions/run_xcodebuild_test
with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'PushNotificationWatchTests' || 'PushNotificationHostApp' }}
+ destination: ${{ steps.platform.outputs.destination }}
+ sdk: ${{ steps.platform.outputs.sdk }}
+ xcode_path: /Applications/Xcode_14.3.app
project_path: ./AmplifyPlugins/Notifications/Push/Tests/PushNotificationHostApp
- scheme: PushNotificationHostApp
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=16.4
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- push-notification-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- timeout-minutes: 30
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: push-notification
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Set up node
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c
- with:
- node-version: 16.x
-
- - name: Run Local Server
- run: |
- cd ./AmplifyPlugins/Notifications/Push/Tests/PushNotificationHostApp/LocalServer
- npm install
- npm start &
- shell: bash
-
- - name: Run Integration test
+ generate_coverage: false
+ cloned_source_packages_path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ derived_data_path: ${{ github.workspace }}/Build
+ disable_package_resolution: ${{ steps.dependencies-cache.outputs.cache-hit }}
+
+ - name: Retry ${{ matrix.platform }} Integration Tests
+ if: steps.run-tests.outcome=='failure'
+ id: retry-tests
uses: ./.github/composite_actions/run_xcodebuild_test
with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'PushNotificationWatchTests' || 'PushNotificationHostApp' }}
+ destination: ${{ steps.platform.outputs.destination }}
+ sdk: ${{ steps.platform.outputs.sdk }}
+ xcode_path: /Applications/Xcode_14.3.app
project_path: ./AmplifyPlugins/Notifications/Push/Tests/PushNotificationHostApp
- scheme: PushNotificationWatchTests
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=9.4
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ generate_coverage: false
+ cloned_source_packages_path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ derived_data_path: ${{ github.workspace }}/Build
+ disable_package_resolution: true
\ No newline at end of file
diff --git a/.github/workflows/integ_test_storage.yml b/.github/workflows/integ_test_storage.yml
index 7e00e05529..af7e50b00f 100644
--- a/.github/workflows/integ_test_storage.yml
+++ b/.github/workflows/integ_test_storage.yml
@@ -24,88 +24,23 @@ permissions:
contents: read
jobs:
- storage-integration-test-iOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.ios }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: storage
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Storage/Tests/StorageHostApp/
- scheme: AWSS3StoragePluginIntegrationTests
- destination: 'platform=iOS Simulator,name=iPhone 14,OS=16.4'
- xcode_path: '/Applications/Xcode_14.3.app'
-
- storage-integration-test-tvOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.tvos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: storage
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Storage/Tests/StorageHostApp/
- scheme: AWSS3StoragePluginIntegrationTests
- destination: platform=tvOS Simulator,name=Apple TV 4K (3rd generation),OS=latest
- sdk: appletvsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
-
- storage-integration-test-watchOS:
- if: ${{ github.event_name != 'workflow_dispatch' || inputs.watchos }}
- runs-on: macos-13
- environment: IntegrationTest
- steps:
- - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
- with:
- persist-credentials: false
-
- - name: Make directory
- run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
-
- - name: Copy integration test resouces
- uses: ./.github/composite_actions/download_test_configuration
- with:
- resource_subfolder: storage
- aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- aws_region: ${{ secrets.AWS_REGION }}
- aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
-
- - name: Run Integration test
- uses: ./.github/composite_actions/run_xcodebuild_test
- with:
- project_path: ./AmplifyPlugins/Storage/Tests/StorageHostApp/
- scheme: AWSS3StoragePluginIntegrationTestsWatch
- destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=latest
- sdk: watchsimulator
- xcode_path: '/Applications/Xcode_14.3.app'
+ storage-integration-tests:
+ name: Storage Integration Tests
+ strategy:
+ fail-fast: false
+ matrix:
+ platform: [iOS, tvOS, watchOS]
+ exclude:
+ - platform: ${{ github.event.inputs.ios == 'false' && 'iOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.tvos == 'false' && 'tvOS' || 'Dummy' }}
+ - platform: ${{ github.event.inputs.watchos == 'false' && 'watchOS' || 'Dummy' }}
+ uses: ./.github/workflows/run_integration_tests.yml
+ with:
+ scheme: ${{ matrix.platform == 'watchOS' && 'AWSS3StoragePluginIntegrationTestsWatch' || 'AWSS3StoragePluginIntegrationTests' }}
+ platform: ${{ matrix.platform }}
+ build_cache_key: AWSS3StoragePlugin-${{ matrix.platform }}-latest-build-main
+ project_path: ./AmplifyPlugins/Storage/Tests/StorageHostApp/
+ xcode_version: '14.3'
+ resource_subfolder: storage
+ timeout-minutes: 30
+ secrets: inherit
diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml
new file mode 100644
index 0000000000..a96200bc3b
--- /dev/null
+++ b/.github/workflows/run_integration_tests.yml
@@ -0,0 +1,122 @@
+name: Run tests for the given parameters
+on:
+ workflow_call:
+ inputs:
+ scheme:
+ description: 'The scheme to run the tests'
+ required: true
+ type: string
+ platform:
+ description: 'The platform in which to run these tests'
+ required: true
+ type: string
+ project_path:
+ required: false
+ type: string
+ xcode_version:
+ description: 'The verion of Xcode used to run these tests'
+ required: true
+ type: string
+ resource_subfolder:
+ required: true
+ type: string
+ timeout-minutes:
+ description: 'The timeout for each execution'
+ required: false
+ type: number
+ default: 30
+ build_cache_key:
+ description: 'The key used to retrieve the build cache'
+ required: true
+ type: string
+
+permissions:
+ id-token: write
+ contents: read
+
+jobs:
+ integration-tests:
+ name: ${{ inputs.platform }} Tests | ${{ inputs.scheme }}
+ runs-on: macos-13
+ if: inputs.platform != 'macOS' # macOS is not supported for Integration Tests
+ timeout-minutes: ${{ inputs.timeout-minutes }}
+ environment: IntegrationTest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 #v3.5.3
+ with:
+ persist-credentials: false
+
+ - name: Get build parameters for ${{ inputs.platform}}
+ id: platform
+ uses: ./.github/composite_actions/get_platform_parameters
+ with:
+ platform: ${{ inputs.platform }}
+ xcode_version: ${{ inputs.xcode_version }}
+
+ - name: Create the test configuration directory
+ run: mkdir -p ~/.aws-amplify/amplify-ios/testconfiguration/
+
+ - name: Download the Integration Test configurations
+ uses: ./.github/composite_actions/download_test_configuration
+ with:
+ resource_subfolder: ${{ inputs.resource_subfolder }}
+ aws_role_to_assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
+ aws_region: ${{ secrets.AWS_REGION }}
+ aws_s3_bucket: ${{ secrets.AWS_S3_BUCKET_INTEG_V2 }}
+ destination: ~/.aws-amplify/amplify-ios/testconfiguration/
+
+ - name: Attempt to use the dependencies cache
+ id: dependencies-cache
+ timeout-minutes: 4
+ continue-on-error: true
+ uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
+ with:
+ path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ key: amplify-packages-${{ hashFiles('Package.resolved') }}
+ restore-keys: |
+ amplify-packages-
+
+ - name: Attempt to use the provided build cache
+ id: build-cache
+ timeout-minutes: 4
+ continue-on-error: true
+ uses: actions/cache/restore@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
+ with:
+ path: ${{ github.workspace }}/Build
+ key: ${{ inputs.build_cache_key }}
+
+ - name: Run ${{ inputs.platform }} Integration Tests
+ id: run-tests
+ continue-on-error: true
+ uses: ./.github/composite_actions/run_xcodebuild_test
+ with:
+ scheme: ${{ inputs.scheme }}
+ destination: ${{ steps.platform.outputs.destination }}
+ sdk: ${{ steps.platform.outputs.sdk }}
+ xcode_path: /Applications/Xcode_${{ inputs.xcode_version }}.app
+ project_path: ${{ inputs.project_path }}
+ generate_coverage: false
+ cloned_source_packages_path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ derived_data_path: ${{ github.workspace }}/Build
+ disable_package_resolution: ${{ steps.dependencies-cache.outputs.cache-hit }}
+ test_without_building: false
+ other_flags: -test-iterations 3 -retry-tests-on-failure
+
+ - name: Retry ${{ inputs.platform }} Integration Tests
+ if: steps.run-tests.outcome=='failure'
+ id: retry-tests
+ uses: ./.github/composite_actions/run_xcodebuild_test
+ with:
+ scheme: ${{ inputs.scheme }}
+ destination: ${{ steps.platform.outputs.destination }}
+ sdk: ${{ steps.platform.outputs.sdk }}
+ xcode_path: /Applications/Xcode_${{ inputs.xcode_version }}.app
+ project_path: ${{ inputs.project_path }}
+ generate_coverage: false
+ cloned_source_packages_path: ~/Library/Developer/Xcode/DerivedData/Amplify
+ derived_data_path: ${{ github.workspace }}/Build
+ disable_package_resolution: true
+ # Only attempt to test without building when we are not using any cache.
+ test_without_building: ${{ !steps.build-cache.outputs.cache-hit }}
+ other_flags: -test-iterations 3 -retry-tests-on-failure
diff --git a/.gitignore b/.gitignore
index ee2ee74060..3eb2a64f4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,12 +16,6 @@ Thumbs.db
*.xcworkspace/
!.swiftpm/xcode/package.xcworkspace
-!AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace
-!AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace
-!AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace
-!AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace
-!AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace
-!AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace
Amplify.xcodeproj/xcuserdata
Amplify.xcworkspace/xcuserdata
xcuserdata
diff --git a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index 681d2bacf7..0000000000
--- a/AmplifyPlugins/API/Tests/APIHostApp/APIHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "c7ec93dcbbcd8abc90c74203937f207a7fcaa611",
- "version" : "3.1.1"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift",
- "state" : {
- "revision" : "6feec6c3787877807aa9a00fad09591b96752376",
- "version" : "0.6.1"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "24bae88a2391fe75da8a940a544d1ef6441f5321",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/smithy-swift",
- "state" : {
- "revision" : "7b28da158d92cd06a3549140d43b8fbcf64a94a6",
- "version" : "0.15.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
- "version" : "1.0.4"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed",
- "version" : "1.5.3"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "b1e944cbd0ef33787b13f639a5418d55b3bed501",
- "version" : "0.17.1"
- }
- }
- ],
- "version" : 2
-}
diff --git a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index 6203f7a6b6..0000000000
--- a/AmplifyPlugins/Analytics/Tests/AnalyticsHostApp/AnalyticsHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "b036e83716789c13a3480eeb292b70caa54114f2",
- "version" : "3.1.0"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift",
- "state" : {
- "revision" : "997904873945e074aaf5c51ea968d9a84684525a",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "ace826dbfe96e7e3103fe7f45f815b8a590bcf21",
- "version" : "0.26.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/smithy-lang/smithy-swift",
- "state" : {
- "revision" : "eed3f3d8e5aa704fcd60bb227b0fc89bf3328c42",
- "version" : "0.30.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
- "version" : "1.0.4"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "32e8d724467f8fe623624570367e3d50c5638e46",
- "version" : "1.5.2"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "80b4a1646399b8e4e0ce80711653476a85bd5e37",
- "version" : "0.17.0"
- }
- }
- ],
- "version" : 2
-}
diff --git a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index 574dbfb6b0..0000000000
--- a/AmplifyPlugins/Auth/Tests/AuthHostApp/AuthHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "3de274c68a3cb60c8aec18b5bc0a8c07860219cd",
- "version" : "3.0.0"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift.git",
- "state" : {
- "revision" : "997904873945e074aaf5c51ea968d9a84684525a",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "ace826dbfe96e7e3103fe7f45f815b8a590bcf21",
- "version" : "0.26.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "35f9e770f54ce62dd8526470f14c6e137cef3eea",
- "version" : "2.1.1"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "c21f7bab5ca8eee0a9998bbd17ca1d0eb45d4688",
- "version" : "2.1.0"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/smithy-lang/smithy-swift",
- "state" : {
- "revision" : "eed3f3d8e5aa704fcd60bb227b0fc89bf3328c42",
- "version" : "0.30.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "f504716c27d2e5d4144fa4794b12129301d17729",
- "version" : "1.0.3"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "6fe203dc33195667ce1759bf0182975e4653ba1c",
- "version" : "1.4.4"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "80b4a1646399b8e4e0ce80711653476a85bd5e37",
- "version" : "0.17.0"
- }
- }
- ],
- "version" : 2
-}
diff --git a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index f284cdc5c9..0000000000
--- a/AmplifyPlugins/DataStore/Tests/DataStoreHostApp/DataStoreHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "b036e83716789c13a3480eeb292b70caa54114f2",
- "version" : "3.1.0"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift.git",
- "state" : {
- "revision" : "6feec6c3787877807aa9a00fad09591b96752376",
- "version" : "0.6.1"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "24bae88a2391fe75da8a940a544d1ef6441f5321",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/smithy-swift.git",
- "state" : {
- "revision" : "7b28da158d92cd06a3549140d43b8fbcf64a94a6",
- "version" : "0.15.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
- "version" : "1.0.4"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "32e8d724467f8fe623624570367e3d50c5638e46",
- "version" : "1.5.2"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "b1e944cbd0ef33787b13f639a5418d55b3bed501",
- "version" : "0.17.1"
- }
- }
- ],
- "version" : 2
-}
diff --git a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index b5ef45f2f1..0000000000
--- a/AmplifyPlugins/Geo/Tests/GeoHostApp/GeoHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "b036e83716789c13a3480eeb292b70caa54114f2",
- "version" : "3.1.0"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift.git",
- "state" : {
- "revision" : "6feec6c3787877807aa9a00fad09591b96752376",
- "version" : "0.6.1"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "24bae88a2391fe75da8a940a544d1ef6441f5321",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "35f9e770f54ce62dd8526470f14c6e137cef3eea",
- "version" : "2.1.1"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "c21f7bab5ca8eee0a9998bbd17ca1d0eb45d4688",
- "version" : "2.1.0"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/smithy-swift.git",
- "state" : {
- "revision" : "7b28da158d92cd06a3549140d43b8fbcf64a94a6",
- "version" : "0.15.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
- "version" : "1.0.4"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "32e8d724467f8fe623624570367e3d50c5638e46",
- "version" : "1.5.2"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "b1e944cbd0ef33787b13f639a5418d55b3bed501",
- "version" : "0.17.1"
- }
- }
- ],
- "version" : 2
-}
diff --git a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a625..0000000000
--- a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d..0000000000
--- a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
deleted file mode 100644
index 603f949096..0000000000
--- a/AmplifyPlugins/Storage/Tests/StorageHostApp/StorageHostApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "pins" : [
- {
- "identity" : "amplify-swift-utils-notifications",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/amplify-swift-utils-notifications.git",
- "state" : {
- "revision" : "f970384ad1035732f99259255cd2f97564807e41",
- "version" : "1.1.0"
- }
- },
- {
- "identity" : "aws-appsync-realtime-client-ios",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/aws-amplify/aws-appsync-realtime-client-ios.git",
- "state" : {
- "revision" : "b036e83716789c13a3480eeb292b70caa54114f2",
- "version" : "3.1.0"
- }
- },
- {
- "identity" : "aws-crt-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-crt-swift.git",
- "state" : {
- "revision" : "997904873945e074aaf5c51ea968d9a84684525a",
- "version" : "0.13.0"
- }
- },
- {
- "identity" : "aws-sdk-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/awslabs/aws-sdk-swift.git",
- "state" : {
- "revision" : "ace826dbfe96e7e3103fe7f45f815b8a590bcf21",
- "version" : "0.26.0"
- }
- },
- {
- "identity" : "cwlcatchexception",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlCatchException.git",
- "state" : {
- "revision" : "3b123999de19bf04905bc1dfdb76f817b0f2cc00",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "cwlpreconditiontesting",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/mattgallagher/CwlPreconditionTesting.git",
- "state" : {
- "revision" : "a23ded2c91df9156628a6996ab4f347526f17b6b",
- "version" : "2.1.2"
- }
- },
- {
- "identity" : "smithy-swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/smithy-lang/smithy-swift",
- "state" : {
- "revision" : "eed3f3d8e5aa704fcd60bb227b0fc89bf3328c42",
- "version" : "0.30.0"
- }
- },
- {
- "identity" : "sqlite.swift",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/stephencelis/SQLite.swift.git",
- "state" : {
- "revision" : "5f5ad81ac0d0a0f3e56e39e646e8423c617df523",
- "version" : "0.13.2"
- }
- },
- {
- "identity" : "starscream",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/daltoniam/Starscream",
- "state" : {
- "revision" : "df8d82047f6654d8e4b655d1b1525c64e1059d21",
- "version" : "4.0.4"
- }
- },
- {
- "identity" : "swift-collections",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-collections",
- "state" : {
- "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2",
- "version" : "1.0.4"
- }
- },
- {
- "identity" : "swift-log",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/apple/swift-log.git",
- "state" : {
- "revision" : "32e8d724467f8fe623624570367e3d50c5638e46",
- "version" : "1.5.2"
- }
- },
- {
- "identity" : "xmlcoder",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/MaxDesiatov/XMLCoder.git",
- "state" : {
- "revision" : "80b4a1646399b8e4e0ce80711653476a85bd5e37",
- "version" : "0.17.0"
- }
- }
- ],
- "version" : 2
-}