.buildkite/basic/react-native-ios-pipeline.yml
steps:
- group: "React Native (iOS) Tests"
steps:
#
# Test fixtures
#
- label: ':mac: Build RN {{matrix}} test fixture ipa (Old Arch)'
key: "build-react-native-ios-fixture-old-arch"
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.74"
- "0.75"
retry:
automatic:
- exit_status: "*"
limit: 1
- label: ':mac: Build RN {{matrix}} test fixture ipa (New Arch)'
key: "build-react-native-ios-fixture-new-arch"
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.74"
- "0.75"
retry:
automatic:
- exit_status: "*"
limit: 1
#
# End-to-end tests
#
- label: ":bitbar: :mac: RN {{matrix}} iOS 16 (Old Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-old-arch"
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.74"
- "0.75"
- label: ":bitbar: :mac: RN {{matrix}} iOS 16 (New Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-new-arch"
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.74"
- "0.75"