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 -}