From 7b9abf5909fb60bebb05358a80d0cef2d4ef4873 Mon Sep 17 00:00:00 2001 From: Steve Kirkland Date: Mon, 2 Dec 2024 13:03:50 +0000 Subject: [PATCH 1/2] Buildkite pipeline tidy-up [full ci] --- .buildkite/basic/browser-pipeline.yml | 5 +- .buildkite/basic/node-pipeline.yml | 3 ++ .../basic/react-native-android-pipeline.yml | 11 +++-- .../basic/react-native-ios-pipeline.yml | 19 ++++---- .buildkite/full/block.yml | 3 ++ .buildkite/full/pipeline.full.yml | 12 +++++ .../react-native-android-pipeline.full.yml | 33 +++++++------ .../full/react-native-cli-pipeline.full.yml | 9 ++-- .../full/react-native-ios-pipeline.full.yml | 47 ++++++++++--------- .buildkite/pipeline.yml | 26 ++++++++-- test/react-native/TESTING.md | 26 +++++----- 11 files changed, 125 insertions(+), 69 deletions(-) diff --git a/.buildkite/basic/browser-pipeline.yml b/.buildkite/basic/browser-pipeline.yml index d1e3988094..5fda24283e 100644 --- a/.buildkite/basic/browser-pipeline.yml +++ b/.buildkite/basic/browser-pipeline.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: - group: "Browser Tests" @@ -196,4 +199,4 @@ steps: api-token-env-name: "BROWSER_BUILDKITE_ANALYTICS_TOKEN" concurrency: 2 concurrency_group: "browserstack" - concurrency_method: eager \ No newline at end of file + concurrency_method: eager diff --git a/.buildkite/basic/node-pipeline.yml b/.buildkite/basic/node-pipeline.yml index 6176ea34f6..a74b4c8dfd 100644 --- a/.buildkite/basic/node-pipeline.yml +++ b/.buildkite/basic/node-pipeline.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: - group: "Node Tests" diff --git a/.buildkite/basic/react-native-android-pipeline.yml b/.buildkite/basic/react-native-android-pipeline.yml index 11ccb605b4..9edaf2a9b6 100644 --- a/.buildkite/basic/react-native-android-pipeline.yml +++ b/.buildkite/basic/react-native-android-pipeline.yml @@ -1,10 +1,13 @@ +agents: + queue: "opensource" + steps: - group: "React Native (Android) Tests" steps: - label: ':android: Build RN {{matrix}} test fixture APK (Old Arch)' key: "build-react-native-android-fixture-old-arch" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: macos-14 env: @@ -28,7 +31,7 @@ steps: - label: ':android: Build RN {{matrix}} test fixture APK (New Arch)' key: "build-react-native-android-fixture-new-arch" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: macos-14 env: @@ -55,7 +58,7 @@ steps: # - label: ":bitbar: :android: RN {{matrix}} Android 12 (Old Arch) end-to-end tests" depends_on: "build-react-native-android-fixture-old-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/old-arch/{{matrix}}/reactnative.apk" @@ -92,7 +95,7 @@ steps: - label: ":bitbar: :android: RN {{matrix}} Android 12 (New Arch) end-to-end tests" depends_on: "build-react-native-android-fixture-new-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/new-arch/{{matrix}}/reactnative.apk" diff --git a/.buildkite/basic/react-native-ios-pipeline.yml b/.buildkite/basic/react-native-ios-pipeline.yml index a2f7fda393..b76ff8cf06 100644 --- a/.buildkite/basic/react-native-ios-pipeline.yml +++ b/.buildkite/basic/react-native-ios-pipeline.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: - group: "React Native (iOS) Tests" @@ -8,7 +11,7 @@ steps: # - label: ':mac: Build RN {{matrix}} test fixture ipa (Old Arch)' key: "build-react-native-ios-fixture-old-arch" - timeout_in_minutes: 30 + timeout_in_minutes: 20 agents: queue: "macos-14" env: @@ -32,7 +35,7 @@ steps: - label: ':mac: Build RN {{matrix}} test fixture ipa (New Arch)' key: "build-react-native-ios-fixture-new-arch" - timeout_in_minutes: 30 + timeout_in_minutes: 20 agents: queue: "macos-14" env: @@ -56,9 +59,9 @@ steps: # # End-to-end tests # - - label: ":bitbar: :mac: RN {{matrix}} iOS 16 (Old Arch) end-to-end tests" + - label: ":bitbar: :mac: RN {{matrix}} iOS (Old Arch) end-to-end tests" depends_on: "build-react-native-ios-fixture-old-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa" @@ -70,7 +73,7 @@ steps: command: - --app=/app/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa - --farm=bb - - --device=IOS_16 + - --device=IOS_15 - --fail-fast - --no-tunnel - --aws-public-ip @@ -92,9 +95,9 @@ steps: - "0.75" - "0.76" - - label: ":bitbar: :mac: RN {{matrix}} iOS 16 (New Arch) end-to-end tests" + - label: ":bitbar: :mac: RN {{matrix}} iOS (New Arch) end-to-end tests" depends_on: "build-react-native-ios-fixture-new-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/new-arch/{{matrix}}/output/reactnative.ipa" @@ -106,7 +109,7 @@ steps: command: - --app=/app/features/fixtures/generated/new-arch/{{matrix}}/output/reactnative.ipa - --farm=bb - - --device=IOS_16 + - --device=IOS_15 - --fail-fast - --no-tunnel - --aws-public-ip diff --git a/.buildkite/full/block.yml b/.buildkite/full/block.yml index b57fbfdead..d3c3be95c9 100644 --- a/.buildkite/full/block.yml +++ b/.buildkite/full/block.yml @@ -4,4 +4,7 @@ steps: - label: 'Upload the full test pipeline' depends_on: 'trigger-full-build' + agents: + queue: macos + timeout_in_minutes: 5 command: buildkite-agent pipeline upload .buildkite/full/pipeline.full.yml diff --git a/.buildkite/full/pipeline.full.yml b/.buildkite/full/pipeline.full.yml index 260fed5703..21027353b1 100644 --- a/.buildkite/full/pipeline.full.yml +++ b/.buildkite/full/pipeline.full.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: # @@ -25,12 +28,18 @@ steps: depends_on: - "publish-js" - "android-builder-base-java-11" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/full/react-native-android-pipeline.full.yml - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: FULL REACT NATIVE (IOS) STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: - "publish-js" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/full/react-native-ios-pipeline.full.yml @@ -38,6 +47,9 @@ steps: depends_on: - "publish-js" - "android-builder-base-java-11" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/full/react-native-cli-pipeline.full.yml diff --git a/.buildkite/full/react-native-android-pipeline.full.yml b/.buildkite/full/react-native-android-pipeline.full.yml index 2bec0eb759..307440bd45 100644 --- a/.buildkite/full/react-native-android-pipeline.full.yml +++ b/.buildkite/full/react-native-android-pipeline.full.yml @@ -1,3 +1,6 @@ +agents: + queue: opensource + steps: - group: "React Native (Android) Tests" @@ -7,7 +10,7 @@ steps: # - label: ":docker: Build RN Android Builder image (Java 11, Node 16)" key: "android-builder-image-java-11-node-16" - timeout_in_minutes: 30 + timeout_in_minutes: 20 plugins: - docker-compose#v4.12.0: build: react-native-android-builder-java-11-node-16 @@ -27,7 +30,7 @@ steps: key: "rn-0-66-apk" depends_on: - "android-builder-image-java-11-node-16" - timeout_in_minutes: 60 + timeout_in_minutes: 20 env: REACT_NATIVE_VERSION: "rn0.66" plugins: @@ -45,7 +48,7 @@ steps: key: "rn-0-67-apk" depends_on: - "android-builder-image-java-11-node-16" - timeout_in_minutes: 60 + timeout_in_minutes: 20 env: REACT_NATIVE_VERSION: "rn0.67" plugins: @@ -63,7 +66,7 @@ steps: key: "rn-0-68-hermes-apk" depends_on: - "android-builder-image-java-11-node-16" - timeout_in_minutes: 60 + timeout_in_minutes: 20 env: REACT_NATIVE_VERSION: "rn0.68-hermes" plugins: @@ -81,7 +84,7 @@ steps: key: "rn-0-69-apk" depends_on: - "android-builder-image-java-11-node-16" - timeout_in_minutes: 60 + timeout_in_minutes: 20 env: REACT_NATIVE_VERSION: "rn0.69" plugins: @@ -97,7 +100,7 @@ steps: - label: ':android: Build RN {{matrix}} test fixture APK (Old Arch)' key: "build-react-native-android-fixture-old-arch-full" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: macos-14 env: @@ -123,7 +126,7 @@ steps: - label: ':android: Build RN {{matrix}} test fixture APK (New Arch)' key: "build-react-native-android-fixture-new-arch-full" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: macos-14 env: @@ -202,7 +205,7 @@ steps: # - label: ":bitbar: :android: RN 0.66 Android end-to-end tests" depends_on: "rn-0-66-apk" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "build/rn0.66.apk" @@ -234,7 +237,7 @@ steps: - label: ":bitbar: :android: RN 0.67 Android end-to-end tests" depends_on: "rn-0-67-apk" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "build/rn0.67.apk" @@ -267,7 +270,7 @@ steps: - label: ":bitbar: :android: RN 0.69 Android end-to-end tests" depends_on: "rn-0-69-apk" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "build/rn0.69.apk" @@ -300,7 +303,7 @@ steps: - label: ":bitbar: :android: RN 0.68 (Hermes) Android end-to-end tests" depends_on: "rn-0-68-hermes-apk" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "build/rn0.68-hermes.apk" @@ -333,7 +336,7 @@ steps: - label: ":bitbar: :android: RN {{matrix}} Android 12 (Old Arch) end-to-end tests" depends_on: "build-react-native-android-fixture-old-arch-full" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/old-arch/{{matrix}}/reactnative.apk" @@ -375,7 +378,7 @@ steps: # TODO: Investigate and try to re-enable when we add tests for more recent React Native versions - label: ":bitbar: :android: RN {{matrix}} Android 12 (New Arch) end-to-end tests" depends_on: "build-react-native-android-fixture-new-arch-full" - timeout_in_minutes: 60 + timeout_in_minutes: 30 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/new-arch/{{matrix}}/reactnative.apk" @@ -414,7 +417,7 @@ steps: - label: ":bitbar: :android: react-native-navigation {{matrix}} Android 12 (Old Arch) end-to-end tests" depends_on: "build-react-native-navigation-android-fixture-old-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 10 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/react-native-navigation/old-arch/{{matrix}}/reactnative.apk" @@ -453,7 +456,7 @@ steps: - label: ":bitbar: :android: react-native-navigation {{matrix}} Android 12 (New Arch) end-to-end tests" depends_on: "build-react-native-navigation-android-fixture-new-arch" - timeout_in_minutes: 60 + timeout_in_minutes: 10 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/react-native-navigation/new-arch/{{matrix}}/reactnative.apk" diff --git a/.buildkite/full/react-native-cli-pipeline.full.yml b/.buildkite/full/react-native-cli-pipeline.full.yml index 55ee03adbf..ef3c711375 100644 --- a/.buildkite/full/react-native-cli-pipeline.full.yml +++ b/.buildkite/full/react-native-cli-pipeline.full.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: - group: "React Native CLI Tests" @@ -87,7 +90,7 @@ steps: # - label: ":ios: Init and build RN CLI 0.66 ipa" key: "rn-cli-0-66-ipa" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: "macos-12-arm" env: @@ -104,7 +107,7 @@ steps: - label: ":ios: Init and build RN CLI 0.67 ipa (Non-hermes)" key: "rn-cli-0-67-ipa" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: "macos-12-arm" env: @@ -121,7 +124,7 @@ steps: - label: ":ios: Init and build RN CLI 0.69 ipa (Non-hermes)" key: "rn-cli-0-69-ipa" - timeout_in_minutes: 30 + timeout_in_minutes: 15 agents: queue: "macos-12-arm" env: diff --git a/.buildkite/full/react-native-ios-pipeline.full.yml b/.buildkite/full/react-native-ios-pipeline.full.yml index 3bf0c471b2..dca223668d 100644 --- a/.buildkite/full/react-native-ios-pipeline.full.yml +++ b/.buildkite/full/react-native-ios-pipeline.full.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: - group: "React Native (iOS) Tests" @@ -8,7 +11,7 @@ steps: # - label: ":ios: Build RN 0.66 ipa" key: "rn-0-66-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 20 agents: queue: "macos-12-arm" env: @@ -25,7 +28,7 @@ steps: - label: ":ios: Build RN 0.67 ipa" key: "rn-0-67-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 20 agents: queue: "macos-12-arm" env: @@ -42,7 +45,7 @@ steps: - label: ":ios: Build RN 0.68 Hermes ipa" key: "rn-0-68-hermes-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 20 agents: queue: "macos-12-arm" env: @@ -59,7 +62,7 @@ steps: - label: ":ios: Build RN 0.69 ipa" key: "rn-0-69-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 20 agents: queue: "macos-12-arm" env: @@ -181,9 +184,9 @@ steps: # # End-to-end tests # - - label: ":bitbar: :ios: RN 0.66 iOS 16 end-to-end tests" + - label: ":bitbar: :ios: RN 0.66 iOS end-to-end tests" depends_on: "rn-0-66-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 40 plugins: artifacts#v1.5.0: download: "build/rn0.66.ipa" @@ -211,9 +214,9 @@ steps: concurrency_group: "bitbar" concurrency_method: eager - - label: ":bitbar: :ios: RN 0.67 iOS 16 end-to-end tests" + - label: ":bitbar: :ios: RN 0.67 iOS end-to-end tests" depends_on: "rn-0-67-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 40 plugins: artifacts#v1.5.0: download: "build/rn0.67.ipa" @@ -242,9 +245,9 @@ steps: concurrency_group: "browserstack-app" concurrency_method: eager - - label: ":bitbar: :ios: RN 0.69 iOS 16 end-to-end tests" + - label: ":bitbar: :ios: RN 0.69 iOS end-to-end tests" depends_on: "rn-0-69-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 40 plugins: artifacts#v1.5.0: download: "build/rn0.69.ipa" @@ -273,9 +276,9 @@ steps: concurrency_group: "browserstack-app" concurrency_method: eager # - - label: ":bitbar: :ios: RN 0.68 (hermes) iOS 16 end-to-end tests" + - label: ":bitbar: :ios: RN 0.68 (hermes) iOS end-to-end tests" depends_on: "rn-0-68-hermes-ipa" - timeout_in_minutes: 60 + timeout_in_minutes: 40 plugins: artifacts#v1.5.0: download: "build/rn0.68-hermes.ipa" @@ -304,9 +307,9 @@ steps: concurrency_group: "browserstack-app" concurrency_method: eager - - label: ":bitbar: :mac: RN {{matrix}} iOS 16 (Old Arch) end-to-end tests" + - label: ":bitbar: :mac: RN {{matrix}} iOS (Old Arch) end-to-end tests" depends_on: "build-react-native-ios-fixture-old-arch-full" - timeout_in_minutes: 60 + timeout_in_minutes: 40 plugins: artifacts#v1.9.0: download: "test/react-native/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa" @@ -318,7 +321,7 @@ steps: command: - --app=/app/features/fixtures/generated/old-arch/{{matrix}}/output/reactnative.ipa - --farm=bb - - --device=IOS_16 + - --device=IOS_15 - --fail-fast - --no-tunnel - --aws-public-ip @@ -342,7 +345,7 @@ steps: - "0.73" - "0.74" - - label: ":bitbar: :mac: RN {{matrix}} iOS 16 (New Arch) end-to-end tests" + - label: ":bitbar: :mac: RN {{matrix}} iOS (New Arch) end-to-end tests" depends_on: "build-react-native-ios-fixture-new-arch-full" timeout_in_minutes: 60 plugins: @@ -356,7 +359,7 @@ steps: command: - --app=/app/features/fixtures/generated/new-arch/{{matrix}}/output/reactnative.ipa - --farm=bb - - --device=IOS_16 + - --device=IOS_15 - --fail-fast - --no-tunnel - --aws-public-ip @@ -383,7 +386,7 @@ steps: # current latest version (v7.40.1) of react-native-navigation's autolinking tool doesn't currently support RN 0.73+, # causing a build failure - see https://github.com/wix/react-native-navigation/issues/7821 # TODO: Investigate and try to re-enable when we add tests for more recent React Native versions - - label: ":bitbar: :mac: react-native-navigation {{matrix}} iOS 16 (Old Arch) end-to-end tests" + - label: ":bitbar: :mac: react-native-navigation {{matrix}} iOS (Old Arch) end-to-end tests" depends_on: "build-react-native-navigation-ios-fixture-old-arch" timeout_in_minutes: 60 plugins: @@ -397,7 +400,7 @@ steps: command: - --app=/app/features/fixtures/generated/react-native-navigation/old-arch/{{matrix}}/output/reactnative.ipa - --farm=bb - - --device=IOS_16 + - --device=IOS_15 - --fail-fast - --no-tunnel - --aws-public-ip @@ -423,7 +426,7 @@ steps: # Skipped due to build failures with react-native-navigation when new arch is enabled # TODO: Investigate and try to re-enable when we add tests for more recent React Native versions - # - label: ":bitbar: :mac: react-native-navigation {{matrix}} iOS 16 (New Arch) end-to-end tests" + # - label: ":bitbar: :mac: react-native-navigation {{matrix}} iOS (New Arch) end-to-end tests" # depends_on: "build-react-native-navigation-ios-fixture-new-arch" # timeout_in_minutes: 60 # plugins: @@ -437,7 +440,7 @@ steps: # command: # - --app=/app/features/fixtures/generated/react-native-navigation/new-arch/{{matrix}}/output/reactnative.ipa # - --farm=bb - # - --device=IOS_16 + # - --device=IOS_15 # - --fail-fast # - --no-tunnel # - --aws-public-ip @@ -459,4 +462,4 @@ steps: # concurrency_method: eager # matrix: # - "0.71" - # - "0.72" \ No newline at end of file + # - "0.72" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 0c4059328a..b98d09a01c 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,3 +1,6 @@ +agents: + queue: "opensource" + steps: # License audit # @@ -18,9 +21,9 @@ steps: run: minimal-packager artifact_paths: min_packages.tar - - label: ":docker: Build and publish JS packages" + - label: "Build and publish JS packages" key: "publish-js" - timeout_in_minutes: 30 + timeout_in_minutes: 10 agents: queue: "macos-14" env: @@ -107,27 +110,42 @@ steps: - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: BROWSER STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: "package-js" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/basic/browser-pipeline.yml - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: ELECTRON STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/basic/electron-pipeline.yml - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: NODE STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: "package-js" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/basic/node-pipeline.yml - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: REACT NATIVE (ANDROID) STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: - "publish-js" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/basic/react-native-android-pipeline.yml - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: REACT NATIVE (IOS) STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: - "publish-js" + agents: + queue: "macos" + timeout_in_minutes: 5 commands: - buildkite-agent pipeline upload .buildkite/basic/react-native-ios-pipeline.yml @@ -135,5 +153,7 @@ steps: # Conditionally trigger full pipeline # - label: 'Conditionally trigger full set of tests' - timeout_in_minutes: 30 + agents: + queue: "macos" + timeout_in_minutes: 5 command: sh -c .buildkite/pipeline_trigger.sh diff --git a/test/react-native/TESTING.md b/test/react-native/TESTING.md index 6294c6c9d2..22d1128b67 100644 --- a/test/react-native/TESTING.md +++ b/test/react-native/TESTING.md @@ -1,22 +1,22 @@ ### React-native testing -The React-native tests drive real, remote mobile devices using BitBar in CI, or BrowserStack when run locally. As a Bugsnag employee you can access the +The React-native tests drive real, remote mobile devices using BitBar in CI, or BrowserStack when run locally. As a Bugsnag employee you can access the necessary credentials in our shared password manager. -The test fixture (a React Native app) that tests are run against needs to be built with a published version of -@bugsnag/react-native. By default, the build process will base this on the current branch/comment, -e.g. `7.5.2-my-branch.e8cbdad2f4`, which needs to be published first if building locally. For example, if using +The test fixture (a React Native app) that tests are run against needs to be built with a published version of +@bugsnag/react-native. By default, the build process will base this on the current branch/comment, +e.g. `7.5.2-my-branch.e8cbdad2f4`, which needs to be published first if building locally. For example, if using [Verdaccio](https://verdaccio.org/docs/en/docker.html): ```shell script node ./scripts/publish.js http://localhost:5539 ``` -This can also be overridden using the environment variable `NOTIFIER_VERSION`, which is useful during development when +This can also be overridden using the environment variable `NOTIFIER_VERSION`, which is useful during development when making test, but not notifier, changes. -If building against the current branch/commit, the packages must be published to a locally owned NPM repository -(! Not the official NPMJS repository !). This can be locally or remotely hosted, but should be versioned appropriately. +If building against the current branch/commit, the packages must be published to a locally owned NPM repository +(! Not the official NPMJS repository !). This can be locally or remotely hosted, but should be versioned appropriately. #### Generating a dynamic test fixture (React Native >=0.71) @@ -44,13 +44,13 @@ Scenarios are driven via maze runner commands (see `react-native-steps.rb`). How For older React Native versions, static test fixtures can be found under `features/fixtures`. -In CI, these are built using Docker. Three bits of information will need to be passed into the test run as environment variables in order to +In CI, these are built using Docker. Three bits of information will need to be passed into the test run as environment variables in order to access this package: - `REG_BASIC_CREDENTIAL`: the basic auth credentials of an account able to access the repository - `REG_NPM_EMAIL`: the email of the user accessing the repository - `REGISTRY_URL`: the remote address of the repository -The targeted release of `@bugsnag/react-native` must be tagged with the short hash of the current commit in order to be +The targeted release of `@bugsnag/react-native` must be tagged with the short hash of the current commit in order to be picked up by the gradle build process. When building locally, use the appropriate npm scripts as documented below. @@ -60,7 +60,7 @@ Remember to set the following variables: - `REGISTRY_URL` - `NOTIFIER_VERSION` (optionally) -There are several react-native versions that can be targeted and the `REACT_NATIVE_VERSION` environment variable should +There are several react-native versions that can be targeted and the `REACT_NATIVE_VERSION` environment variable should be set accordingly: | React native fixture | `REACT_NATIVE_VERSION` | @@ -87,8 +87,8 @@ Ensure that the following environment variables are set: - `MAZE_BS_LOCAL` - Location of the BrowserStack local testing binary See https://www.browserstack.com/local-testing/app-automate for details of the required local testing binary. In -particular, these commands need the `BrowserStackLocal` binary (available -[here](https://www.browserstack.com/local-testing/releases) to reside in your home directory. +particular, these commands need the `BrowserStackLocal` binary (available +[here](https://www.browserstack.com/local-testing/releases) to reside in your home directory. 1. Change into the `test/react-native` directory 1. Check the contents of `Gemfile` to select the version of `maze-runner` to use. @@ -103,7 +103,7 @@ particular, these commands need the `BrowserStackLocal` binary (available ```shell script bundle exec maze-runner --app= \ --farm=bs \ - --device=IOS_16 \ + --device=IOS_15 \ features/app.feature ``` 1. To run all features, omit the final argument. From af58e32a5ad2a0486fb2fbb354121489a3e56bbf Mon Sep 17 00:00:00 2001 From: Steve Kirkland Date: Thu, 5 Dec 2024 21:06:53 +0000 Subject: [PATCH 2/2] Correction to merge conflict resolution --- .buildkite/basic/browser-pipeline.yml | 62 --------------------------- 1 file changed, 62 deletions(-) diff --git a/.buildkite/basic/browser-pipeline.yml b/.buildkite/basic/browser-pipeline.yml index dd9d10c921..a9cfa1f85f 100644 --- a/.buildkite/basic/browser-pipeline.yml +++ b/.buildkite/basic/browser-pipeline.yml @@ -204,65 +204,3 @@ steps: concurrency_method: eager env: HOST: "localhost" # IE11 needs the host set to localhost for some reason - - - label: ":browserstack: {{matrix}} tests" - matrix: - - edge_17 - - safari_10 - - ios_15 - - android_7 - # TODO: Move these to BitBar - - chrome_43 - - chrome_72 - - firefox_78 - depends_on: "browser-maze-runner-bs" - timeout_in_minutes: 30 - plugins: - docker-compose#v4.12.0: - pull: browser-maze-runner-bs - run: browser-maze-runner-bs - use-aliases: true - command: - - "--https" - - "--farm=bs" - - "--browser={{matrix}}" - artifacts#v1.5.0: - upload: - - "./test/browser/maze_output/failed/**/*" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "BROWSER_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 2 - concurrency_group: "browserstack" - concurrency_method: eager - - # - # BrowserStack non-https tests - # - - label: ":browserstack: {{matrix}} non-https tests" - matrix: - - safari_16 - - ios_10 - depends_on: "browser-maze-runner-bs" - timeout_in_minutes: 30 - plugins: - docker-compose#v4.12.0: - pull: browser-maze-runner-bs - run: browser-maze-runner-bs - use-aliases: true - command: - - "--farm=bs" - - "--browser={{matrix}}" - artifacts#v1.5.0: - upload: - - "./test/browser/maze_output/failed/**/*" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "BROWSER_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 2 - concurrency_group: "browserstack" - concurrency_method: eager