Skip to content

Commit

Permalink
Merge pull request #571 from bugsnag/PLAT-13414/native-integration-tests
Browse files Browse the repository at this point in the history
Add Native integration tests to full CI pipeline
  • Loading branch information
yousif-bugsnag authored Jan 22, 2025
2 parents c82bbd1 + dbf4ab6 commit 6c8c4bf
Show file tree
Hide file tree
Showing 5 changed files with 313 additions and 48 deletions.
283 changes: 283 additions & 0 deletions .buildkite/react-native-pipeline.full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,69 @@ steps:
- exit_status: "*"
limit: 1

- label: ':android: Build RN {{matrix.reactnative}} native integration test fixture APK (Old Arch)'
key: "build-react-native-android-fixture-native-integration-old-arch-full"
timeout_in_minutes: 30
agents:
queue: macos-14
env:
JAVA_VERSION: "{{matrix.java}}"
NODE_VERSION: "18"
RN_VERSION: "{{matrix.reactnative}}"
NOTIFIER_VERSION: '8.0.0'
BUILD_ANDROID: "true"
NATIVE_INTEGRATION: "1"
artifact_paths:
- "test/react-native/features/fixtures/generated/native-integration/old-arch/**/reactnative.apk"
commands:
- bundle install
- ./bin/generate-react-native-fixture
matrix:
setup:
reactnative:
- "0.71"
- "0.72"
- "0.73"
- "0.74"
java:
- "17"
adjustments:
- with:
reactnative: "0.64"
java: "11"
retry:
automatic:
- exit_status: "*"
limit: 1

- label: ':android: Build RN {{matrix}} native integration test fixture APK (New Arch)'
key: "build-react-native-android-fixture-native-integration-new-arch-full"
timeout_in_minutes: 30
agents:
queue: macos-14
env:
JAVA_VERSION: "17"
NODE_VERSION: "18"
RN_VERSION: "{{matrix}}"
NOTIFIER_VERSION: '8.0.0'
RCT_NEW_ARCH_ENABLED: "true"
BUILD_ANDROID: "true"
NATIVE_INTEGRATION: "1"
artifact_paths:
- "test/react-native/features/fixtures/generated/native-integration/new-arch/**/reactnative.apk"
commands:
- bundle install
- ./bin/generate-react-native-fixture
matrix:
- "0.71"
- "0.72"
- "0.73"
- "0.74"
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: 15
Expand Down Expand Up @@ -120,6 +183,62 @@ steps:
- exit_status: "*"
limit: 1

- label: ':mac: Build RN {{matrix}} native integration test fixture ipa (Old Arch)'
key: "build-react-native-ios-fixture-native-integration-old-arch-full"
timeout_in_minutes: 30
agents:
queue: "macos-14"
env:
NODE_VERSION: "18"
RN_VERSION: "{{matrix}}"
NOTIFIER_VERSION: '8.0.0'
BUILD_IOS: "true"
XCODE_VERSION: "15.3.0"
NATIVE_INTEGRATION: "1"
artifact_paths:
- "test/react-native/features/fixtures/generated/native-integration/old-arch/**/output/reactnative.ipa"
commands:
- bundle install
- ./bin/generate-react-native-fixture
matrix:
- "0.64"
- "0.71"
- "0.72"
- "0.73"
- "0.74"
retry:
automatic:
- exit_status: "*"
limit: 1

- label: ':mac: Build RN {{matrix}} native integration test fixture ipa (New Arch)'
key: "build-react-native-ios-fixture-native-integration-new-arch-full"
timeout_in_minutes: 30
agents:
queue: "macos-14"
env:
NODE_VERSION: "18"
RN_VERSION: "{{matrix}}"
RCT_NEW_ARCH_ENABLED: "1"
NOTIFIER_VERSION: '8.0.0'
BUILD_IOS: "true"
XCODE_VERSION: "15.3.0"
NATIVE_INTEGRATION: "1"
artifact_paths:
- "test/react-native/features/fixtures/generated/native-integration/new-arch/**/output/reactnative.ipa"
commands:
- bundle install
- ./bin/generate-react-native-fixture
matrix:
- "0.71"
- "0.72"
- "0.73"
- "0.74"
retry:
automatic:
- exit_status: "*"
limit: 1

#
# End-to-end tests
#
Expand Down Expand Up @@ -200,6 +319,88 @@ steps:
- "0.73"
- "0.74"

- label: ":bitbar: :android: RN {{matrix}} native integration Android 12 (Old Arch) end-to-end tests"
depends_on: "build-react-native-android-fixture-native-integration-old-arch-full"
timeout_in_minutes: 20
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/native-integration/old-arch/{{matrix}}/reactnative.apk"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.7.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
command:
- --app=/app/features/fixtures/generated/native-integration/old-arch/{{matrix}}/reactnative.apk
- --farm=bb
- --device=ANDROID_12
- --a11y-locator
- --fail-fast
- --appium-version=1.22
- --no-tunnel
- --aws-public-ip
- --tags=@native_integration
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
api-token-env-name: "REACT_NATIVE_PERFORMANCE_BUILDKITE_ANALYTICS_TOKEN"
env:
NATIVE_INTEGRATION: "1"
retry:
manual:
permit_on_passed: true
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.64"
- "0.71"
- "0.72"
- "0.73"
- "0.74"

- label: ":bitbar: :android: RN {{matrix}} native integration Android 12 (New Arch) end-to-end tests"
depends_on: "build-react-native-android-fixture-native-integration-new-arch-full"
timeout_in_minutes: 20
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/native-integration/new-arch/{{matrix}}/reactnative.apk"
upload: ./test/react-native/maze_output/**/*
docker-compose#v4.7.0:
pull: react-native-maze-runner
run: react-native-maze-runner
service-ports: true
command:
- --app=/app/features/fixtures/generated/native-integration/new-arch/{{matrix}}/reactnative.apk
- --farm=bb
- --device=ANDROID_12
- --a11y-locator
- --fail-fast
- --appium-version=1.22
- --no-tunnel
- --aws-public-ip
- --tags=@native_integration
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
api-token-env-name: "REACT_NATIVE_PERFORMANCE_BUILDKITE_ANALYTICS_TOKEN"
env:
RCT_NEW_ARCH_ENABLED: "1"
NATIVE_INTEGRATION: "1"
retry:
manual:
permit_on_passed: true
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.71"
- "0.72"
- "0.73"
- "0.74"

- label: ":bitbar: :mac: RN {{matrix}} iOS 14 (Old Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-old-arch-full"
timeout_in_minutes: 30
Expand Down Expand Up @@ -276,3 +477,85 @@ steps:
- "0.72"
- "0.73"
- "0.74"

- label: ":bitbar: :mac: RN {{matrix}} native integration iOS 14 (Old Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-native-integration-old-arch-full"
timeout_in_minutes: 20
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/native-integration/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/native-integration/old-arch/{{matrix}}/output/reactnative.ipa
- --farm=bb
- --device=IOS_14
- --a11y-locator
- --fail-fast
- --appium-version=1.22
- --no-tunnel
- --aws-public-ip
- --tags=@native_integration
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
api-token-env-name: "REACT_NATIVE_PERFORMANCE_BUILDKITE_ANALYTICS_TOKEN"
env:
NATIVE_INTEGRATION: "1"
retry:
manual:
permit_on_passed: true
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.64"
- "0.71"
- "0.72"
- "0.73"
- "0.74"

- label: ":bitbar: :mac: RN {{matrix}} native integration iOS 14 (New Arch) end-to-end tests"
depends_on: "build-react-native-ios-fixture-native-integration-new-arch-full"
timeout_in_minutes: 20
plugins:
artifacts#v1.9.0:
download: "test/react-native/features/fixtures/generated/native-integration/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/native-integration/new-arch/{{matrix}}/output/reactnative.ipa
- --farm=bb
- --device=IOS_14
- --a11y-locator
- --fail-fast
- --appium-version=1.22
- --no-tunnel
- --aws-public-ip
- --tags=@native_integration
test-collector#v1.10.2:
files: "reports/TEST-*.xml"
format: "junit"
branch: "^main|next$$"
api-token-env-name: "REACT_NATIVE_PERFORMANCE_BUILDKITE_ANALYTICS_TOKEN"
env:
RCT_NEW_ARCH_ENABLED: "1"
NATIVE_INTEGRATION: "1"
retry:
manual:
permit_on_passed: true
concurrency: 25
concurrency_group: "bitbar"
concurrency_method: eager
matrix:
- "0.71"
- "0.72"
- "0.73"
- "0.74"
Loading

0 comments on commit 6c8c4bf

Please sign in to comment.