name: IntegrationTests

schemes:
  IntegrationTests:
    analyze:
      config: Debug
    archive:
      config: Release
    build:
      targets:
        IntegrationTests: all
    profile:
      config: Release
    run:
      config: Debug
      disableMainThreadChecker: false
      environmentVariables:
        INTEGRATION_TESTS_HOST: ${INTEGRATION_TESTS_HOST}
        INTEGRATION_TESTS_USERNAME: ${INTEGRATION_TESTS_USERNAME}
        INTEGRATION_TESTS_PASSWORD: ${INTEGRATION_TESTS_PASSWORD}
    test:
      config: Debug
      disableMainThreadChecker: false
      gatherCoverageData: true
      coverageTargets:
        - ElementX
      targets:
      - IntegrationTests

targets:
  IntegrationTests:
    type: bundle.ui-testing
    platform: iOS

    dependencies:
    - target: ElementX
    - package: MatrixRustSDK
    - package: DeviceKit
    - package: DTCoreText
    - package: KeychainAccess
    - package: Kingfisher
    - package: SwiftyBeaver
    - package: SwiftState
    - package: GZIP
    - package: Sentry
    - package: Collections

    info:
      path: ../SupportingFiles/Info.plist

    settings:
      base:
        PRODUCT_NAME: IntegrationTests
        PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.integration.tests
      debug:
      release:

    sources:
    - path: ../Sources
    - path: ../SupportingFiles
    - path: ../../ElementX/Sources/Other/Extensions/XCUIElement.swift
