.buildkite/full/react-native-ios-pipeline.full.yml
steps:
- group: "React Native (iOS) Tests"
steps:
#
# Test fixtures
#
- label: ":ios: Build RN 0.66 ipa"
key: "rn-0-66-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.66
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/rn0.66.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ":ios: Build RN 0.67 ipa"
key: "rn-0-67-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.67
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/rn0.67.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ":ios: Build RN 0.68 Hermes ipa"
key: "rn-0-68-hermes-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.68-hermes
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/rn0.68-hermes.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ":ios: Build RN 0.69 ipa"
key: "rn-0-69-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.69
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/rn0.69.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ':mac: Build RN {{matrix}} test fixture ipa (Old Arch)'
key: "build-react-native-ios-fixture-old-arch-full"
timeout_in_minutes: 30
agents:
queue: "macos-14"
env:
NODE_VERSION: "18"
RN_VERSION: "{{matrix}}"
RCT_NEW_ARCH_ENABLED: "0"
BUILD_IOS: "true"
XCODE_VERSION: "15.3.0"
artifact_paths:
- "test/react-native/features/fixtures/generated/old-arch/**/output/reactnative.ipa"
commands:
- "bundle install"
- "node scripts/generate-react-native-fixture.js"
matrix:
- "0.71"
- "0.72"
- "0.73"
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ':mac: Build RN {{matrix}} test fixture ipa (New Arch)'
key: "build-react-native-ios-fixture-new-arch-full"
timeout_in_minutes: 30
agents:
queue: "macos-14"
env:
NODE_VERSION: "18"
RN_VERSION: "{{matrix}}"
RCT_NEW_ARCH_ENABLED: "1"
BUILD_IOS: "true"
XCODE_VERSION: "15.3.0"
artifact_paths:
- "test/react-native/features/fixtures/generated/new-arch/**/output/reactnative.ipa"
commands:
- "bundle install"
- "node scripts/generate-react-native-fixture.js"
matrix:
- "0.71"
- "0.72"
- "0.73"
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ":ios: Build react-navigation 0.69 ipa"
key: "react-navigation-0-69-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.69
JS_SOURCE_DIR: "react_navigation_js"
ARTEFACT_NAME: "r_navigation_0.69"
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/r_navigation_0.69.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
# See: PLAT-5173
- label: ":ios: Build react-native-navigation 0.66 ipa"
skip: "See PLAT-5173"
key: "react-native-navigation-0-66-ipa"
timeout_in_minutes: 60
agents:
queue: "macos-12-arm"
env:
REACT_NATIVE_VERSION: rn0.66
JS_SOURCE_DIR: "react_native_navigation_js"
ARTEFACT_NAME: "r_native_navigation_0.66"
LANG: "en_US.UTF-8"
DEVELOPER_DIR: "/Applications/Xcode14.app"
artifact_paths: build/r_native_navigation_0.66.ipa
commands:
- npm run test:build-react-native-ios
retry:
automatic:
- exit_status: "*"
limit: 1
#
# End-to-end tests
#
- label: ":bitbar: :ios: RN 0.66 iOS 16 end-to-end tests"
depends_on: "rn-0-66-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/rn0.66.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
use-aliases: true
command:
- --app=build/rn0.66.ipa
- --farm=bb
- --device=IOS_15|IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
env:
SKIP_NAVIGATION_SCENARIOS: "true"
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
- label: ":bitbar: :ios: RN 0.67 iOS 16 end-to-end tests"
depends_on: "rn-0-67-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/rn0.67.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
use-aliases: true
command:
- --app=build/rn0.67.ipa
- --farm=bb
- --device=IOS_15|IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
env:
SKIP_NAVIGATION_SCENARIOS: "true"
HERMES: "true"
concurrency: 5
concurrency_group: "browserstack-app"
concurrency_method: eager
- label: ":bitbar: :ios: RN 0.69 iOS 16 end-to-end tests"
depends_on: "rn-0-69-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/rn0.69.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
use-aliases: true
command:
- --app=build/rn0.69.ipa
- --farm=bb
- --device=IOS_15|IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
env:
SKIP_NAVIGATION_SCENARIOS: "true"
HERMES: "true"
concurrency: 5
concurrency_group: "browserstack-app"
concurrency_method: eager
#
- label: ":bitbar: :ios: RN 0.68 (hermes) iOS 16 end-to-end tests"
depends_on: "rn-0-68-hermes-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/rn0.68-hermes.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
use-aliases: true
command:
- --app=build/rn0.68-hermes.ipa
- --farm=bb
- --device=IOS_15|IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
env:
SKIP_NAVIGATION_SCENARIOS: "true"
HERMES: "true"
concurrency: 5
concurrency_group: "browserstack-app"
concurrency_method: eager
- label: ":bitbar: :mac: RN {{matrix}} iOS 16 (Old Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-old-arch-full"
timeout_in_minutes: 60
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
command:
- --app=/app/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa
- --farm=bb
- --device=IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
retry:
manual:
permit_on_passed: true
env:
SKIP_NAVIGATION_SCENARIOS: "true"
RN_VERSION: "{{matrix}}"
RCT_NEW_ARCH_ENABLED: "0"
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.71"
- "0.72"
- "0.73"
- label: ":bitbar: :mac: RN {{matrix}} iOS 16 (New Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-new-arch-full"
timeout_in_minutes: 60
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/new-arch/{{matrix}}/output/reactnative.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
command:
- --app=/app/features/fixtures/generated/new-arch/{{matrix}}/output/reactnative.ipa
- --farm=bb
- --device=IOS_16
- --a11y-locator
- --fail-fast
- --no-tunnel
- --aws-public-ip
env:
RCT_NEW_ARCH_ENABLED: "1"
SKIP_NAVIGATION_SCENARIOS: "true"
RN_VERSION: "{{matrix}}"
retry:
manual:
permit_on_passed: true
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.71"
- "0.72"
- "0.73"
- label: ":browserstack: :ios: react-navigation 0.69 iOS 16 end-to-end tests"
depends_on: "react-navigation-0-69-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/r_navigation_0.69.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
use-aliases: true
command:
- --app=build/r_navigation_0.69.ipa
- --farm=bs
- --device=IOS_16
- --a11y-locator
- --fail-fast
- features/navigation.feature
concurrency: 5
concurrency_group: "browserstack-app"
concurrency_method: eager
# See: PLAT-5173
- label: ":browserstack: :ios: react-native-navigation 0.66 iOS 16 end-to-end tests"
skip: "See PLAT-5173"
depends_on: "react-native-navigation-0-66-ipa"
timeout_in_minutes: 60
plugins:
artifacts#v1.5.0:
download: "build/r_native_navigation_0.66.ipa"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.12.0:
pull: react-native-maze-runner
run: react-native-maze-runner
use-aliases: true
command:
- --app=build/r_native_navigation_0.66.ipa
- --farm=bs
- --device=IOS_16
- --a11y-locator
- --fail-fast
- features/navigation.feature
concurrency: 5
concurrency_group: "browserstack-app"
concurrency_method: eager