bugsnag/bugsnag-js

View on GitHub
.buildkite/full/react-native-cli-pipeline.full.yml

Summary

Maintainability
Test Coverage
steps:

  - group: "React Native CLI Tests"
    steps:
      #
      # CLI tests Maze Runner image
      #
      - label: ":docker: Build CLI test image"
        key: "cli-maze-image"
        timeout_in_minutes: 30
        plugins:
          - docker-compose#v4.12.0:
              build: react-native-cli-tool-maze-runner
              image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/js
              cache-from:  react-native-cli-tool-maze-runner:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:cli-maze-${BRANCH_NAME}
          - docker-compose#v4.12.0:
              push: react-native-cli-tool-maze-runner:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:cli-maze-${BRANCH_NAME}

      #
      # CLI tests
      #
      # TODO: These tests were removed for older RN versions and will be re-added for RN 0.71+ (see PLAT-12578)

      #
      # Built app test fixtures - Android
      #
      - label: ":docker: Build RN CLI Android Builder image"
        key: "android-builder-cli-image"
        timeout_in_minutes: 30
        plugins:
          - docker-compose#v4.12.0:
              build: react-native-cli-android-builder
              image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/js
              cache-from:  react-native-cli-android-builder:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:ci-${BRANCH_NAME}
          - docker-compose#v4.12.0:
              push: react-native-cli-android-builder:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:ci-${BRANCH_NAME}
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      - label: ":android: Init and build RN CLI 0.66 apk"
        key: "rn-cli-0-66-apk"
        depends_on:
          - "android-builder-cli-image"
        timeout_in_minutes: 15
        env:
          DEBUG: true
          REACT_NATIVE_VERSION: rn0_66
        plugins:
          - docker-compose#v4.12.0:
              run: react-native-cli-android-builder
              command: ["features/build-app-tests/build-android-app.feature"]
        artifact_paths:
          - build/rn0_66.apk
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      - label: ":android: Init and build RN CLI 0.67 apk (Non-hermes)"
        key: "rn-cli-0-67-apk"
        depends_on:
          - "android-builder-cli-image"
        timeout_in_minutes: 15
        env:
          DEBUG: true
          REACT_NATIVE_VERSION: rn0_67
        plugins:
          - docker-compose#v4.12.0:
              run: react-native-cli-android-builder
              command: ["features/build-app-tests/build-android-app.feature"]
        artifact_paths:
          - build/rn0_67.apk
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      - label: ":android: Init and build RN CLI 0.69 apk (Non-hermes)"
        key: "rn-cli-0-69-apk"
        depends_on:
          - "android-builder-cli-image"
        timeout_in_minutes: 15
        env:
          DEBUG: true
          REACT_NATIVE_VERSION: rn0_69
        plugins:
          - docker-compose#v4.12.0:
              run: react-native-cli-android-builder
              command: ["features/build-app-tests/build-android-app.feature"]
        artifact_paths:
          - build/rn0_69.apk
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      #
      # Built app test fixtures - iOS
      #
      - label: ":ios: Init and build RN CLI 0.66 ipa"
        key: "rn-cli-0-66-ipa"
        timeout_in_minutes: 30
        agents:
          queue: "macos-12-arm"
        env:
          DEBUG: true
          LANG: "en_US.UTF-8"
          DEVELOPER_DIR: "/Applications/Xcode14.app"
        artifact_paths: build/rn0_66.ipa
        commands:
          - test/react-native-cli/scripts/init-and-build-test.sh rn0_66
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      - label: ":ios: Init and build RN CLI 0.67 ipa (Non-hermes)"
        key: "rn-cli-0-67-ipa"
        timeout_in_minutes: 30
        agents:
          queue: "macos-12-arm"
        env:
          DEBUG: true
          LANG: "en_US.UTF-8"
          DEVELOPER_DIR: "/Applications/Xcode14.app"
        artifact_paths: build/rn0_67.ipa
        commands:
          - test/react-native-cli/scripts/init-and-build-test.sh rn0_67
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      - label: ":ios: Init and build RN CLI 0.69 ipa (Non-hermes)"
        key: "rn-cli-0-69-ipa"
        timeout_in_minutes: 30
        agents:
          queue: "macos-12-arm"
        env:
          DEBUG: true
          LANG: "en_US.UTF-8"
          DEVELOPER_DIR: "/Applications/Xcode14.app"
        artifact_paths: build/rn0_69.ipa
        commands:
          - test/react-native-cli/scripts/init-and-build-test.sh rn0_69
        retry:
          automatic:
            - exit_status: "*"
              limit: 1

      #
      # Init, build and notify end-to-end tests - Android
      #
      - label: ":bitbar: :android: RN CLI 0.66 Android end-to-end tests"
        depends_on: "rn-cli-0-66-apk"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.9.0:
            download: "build/rn0_66.apk"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            service-ports: true
            command:
              - --app=build/rn0_66.apk
              - --app-activity=com.reactnative.MainActivity
              - --app-package=com.reactnative
              - --farm=bb
              - --device=ANDROID_10|ANDROID_11|ANDROID_12
              - --appium-version=1.22
              - --a11y-locator
              - --no-tunnel
              - --aws-public-ip
              - features/run-app-tests
        concurrency: 25
        concurrency_group: 'bitbar'
        concurrency_method: eager

      - label: ":bitbar: :android: RN CLI 0.67 Android end-to-end tests (Non-hermes)"
        depends_on: "rn-cli-0-67-apk"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.9.0:
            download: "build/rn0_67.apk"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            service-ports: true
            command:
              - --app=build/rn0_67.apk
              - --app-activity=com.reactnative.MainActivity
              - --app-package=com.reactnative
              - --farm=bb
              - --device=ANDROID_10|ANDROID_11|ANDROID_12
              - --appium-version=1.22
              - --a11y-locator
              - --no-tunnel
              - --aws-public-ip
              - features/run-app-tests
        concurrency: 25
        concurrency_group: 'bitbar'
        concurrency_method: eager

      - label: ":runner: RN CLI 0.69 Android end-to-end tests (Non-hermes)"
        depends_on: "rn-cli-0-69-apk"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.9.0:
            download: "build/rn0_69.apk"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            service-ports: true
            command:
              - --app=build/rn0_69.apk
              - --app-activity=com.reactnative.MainActivity
              - --app-package=com.reactnative
              - --farm=bb
              - --device=ANDROID_10|ANDROID_11|ANDROID_12
              - --appium-version=1.22
              - --a11y-locator
              - --no-tunnel
              - --aws-public-ip
              - features/run-app-tests
        concurrency: 25
        concurrency_group: 'bitbar'
        concurrency_method: eager

      #
      # Init, build and notify end-to-end tests - iOS
      #
      - label: ":browserstack: :ios: RN CLI 0.66 iOS end-to-end tests"
        depends_on: "rn-cli-0-66-ipa"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.5.0:
            download: "build/rn0_66.ipa"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            use-aliases: true
            command:
              - --app=build/rn0_66.ipa
              - --farm=bs
              - --device=IOS_14
              - --a11y-locator
              - features/run-app-tests
        concurrency: 5
        concurrency_group: "browserstack-app"
        concurrency_method: eager

      - label: ":browserstack: :ios: RN CLI 0.67 iOS end-to-end tests (Non-hermes)"
        depends_on: "rn-cli-0-67-ipa"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.5.0:
            download: "build/rn0_67.ipa"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            use-aliases: true
            command:
              - --app=build/rn0_67.ipa
              - --farm=bs
              - --device=IOS_14
              - --a11y-locator
              - features/run-app-tests
        concurrency: 5
        concurrency_group: "browserstack-app"
        concurrency_method: eager

      - label: ":browserstack: :ios: RN CLI 0.69 iOS end-to-end tests (Non-hermes)"
        depends_on: "rn-cli-0-69-ipa"
        timeout_in_minutes: 10
        plugins:
          artifacts#v1.5.0:
            download: "build/rn0_69.ipa"
            upload: ./test/react-native-cli/maze_output/**/*
          docker-compose#v4.12.0:
            pull: react-native-cli-maze-runner
            run: react-native-cli-maze-runner
            use-aliases: true
            command:
              - --app=build/rn0_69.ipa
              - --farm=bs
              - --device=IOS_14
              - --a11y-locator
              - features/run-app-tests
        concurrency: 5
        concurrency_group: "browserstack-app"
        concurrency_method: eager