.buildkite/full/react-native-cli-pipeline.full.yml
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