diff --git a/.buildkite/block.full.yml b/.buildkite/block.full.yml new file mode 100644 index 00000000..44318241 --- /dev/null +++ b/.buildkite/block.full.yml @@ -0,0 +1,7 @@ +steps: + - block: 'Trigger a full build' + key: 'trigger-full-build' + + - label: 'Upload the full test pipeline' + depends_on: 'trigger-full-build' + command: buildkite-agent pipeline upload .buildkite/pipeline.full.yml diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml new file mode 100644 index 00000000..63265e5c --- /dev/null +++ b/.buildkite/pipeline.full.yml @@ -0,0 +1,567 @@ +env: + LANG: "en_GB.UTF-8" + XCODE_VERSION: "15.4.0" + +agents: + queue: macos-14 + +steps: + - group: ":xcode_simulator: Unit Tests" + steps: + - label: "iOS 17 Unit Tests" + commands: + - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=17.5 DEVICE="iPhone 15" + plugins: + artifacts#v1.9.3: + upload: + - "logs/*" + + - label: "iOS 16 Unit Tests" + commands: + - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=16.4 DEVICE="iPhone 14" + plugins: + artifacts#v1.9.3: + upload: + - "logs/*" + + - label: "iOS 15 Unit Tests" + commands: + - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=15.5 DEVICE="iPhone 13" + plugins: + artifacts#v1.9.3: + upload: + - "logs/*" + + - label: "iOS 14 Unit Tests" + commands: + - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=14.5 + plugins: + artifacts#v1.9.3: + upload: + - "logs/*" + agents: + queue: macos-12-arm + env: + XCODE_VERSION: "14" + + - group: "E2E Tests" + steps: + - label: ":browserstack: iOS 17 E2E Tests" + depends_on: + - ios_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bs_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bs + run: maze-runner-bs + service-ports: true + command: + - "--app=@build/bs_ipa_url.txt" + - "--device=IOS_17" + - "--fail-fast" + - "--farm=bs" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 5 + concurrency_group: browserstack-app + concurrency_method: eager + + - label: ":bitbar: iOS 16 E2E Tests" + depends_on: + - ios_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_ipa_url.txt" + - "--device=IOS_16" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 15 E2E Tests" + depends_on: + - ios_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_ipa_url.txt" + - "--device=IOS_15" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 14 E2E Tests" + depends_on: + - ios_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_ipa_url.txt" + - "--device=IOS_14" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - group: "XcFramework E2E Tests" + steps: + - label: ":browserstack: iOS XcFramework 17 E2E Tests" + depends_on: + - ios_xcframework_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bs_xcframework_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bs + run: maze-runner-bs + service-ports: true + command: + - "--app=@build/bs_xcframework_ipa_url.txt" + - "--device=IOS_17" + - "--fail-fast" + - "--farm=bs" + - "features/default/automatic_spans.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 5 + concurrency_group: browserstack-app + concurrency_method: eager + + - label: ":bitbar: iOS XcFramework 16 E2E Tests" + depends_on: + - ios_xcframework_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_xcframework_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_xcframework_ipa_url.txt" + - "--device=IOS_16" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default/automatic_spans.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS XcFramework 15 E2E Tests" + depends_on: + - ios_xcframework_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_xcframework_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_xcframework_ipa_url.txt" + - "--device=IOS_15" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default/automatic_spans.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS XcFramework 14 E2E Tests" + depends_on: + - ios_xcframework_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_xcframework_ipa_url.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_xcframework_ipa_url.txt" + - "--device=IOS_14" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default/automatic_spans.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - group: "Swizzling disabled E2E" + steps: + - label: ":browserstack: iOS 17 E2E Tests swizzling disabled" + depends_on: + - ios_fixture_swizzling_disabled + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bs_url_swizzling_disabled.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bs + run: maze-runner-bs + service-ports: true + command: + - "--app=@build/bs_url_swizzling_disabled.txt" + - "--device=IOS_17" + - "--fail-fast" + - "--farm=bs" + - "features/swizzling_disabled" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 5 + concurrency_group: browserstack-app + concurrency_method: eager + + - label: ":bitbar: iOS 16 E2E Tests swizzling disabled" + depends_on: + - ios_fixture_swizzling_disabled + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_disabled.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_disabled.txt" + - "--device=IOS_16" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/swizzling_disabled" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 15 E2E Tests swizzling disabled" + depends_on: + - ios_fixture_swizzling_disabled + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_disabled.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_disabled.txt" + - "--device=IOS_15" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/swizzling_disabled" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 14 E2E Tests swizzling disabled" + depends_on: + - ios_fixture_swizzling_disabled + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_disabled.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_disabled.txt" + - "--device=IOS_14" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/swizzling_disabled" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - group: "Swizzling premain E2E" + steps: + - label: ":browserstack: iOS 17 E2E Tests swizzling premain" + depends_on: + - ios_fixture_swizzling_premain + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bs_url_swizzling_premain.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" + docker-compose#v4.8.0: + pull: maze-runner-bs + run: maze-runner-bs + service-ports: true + command: + - "--app=@build/bs_url_swizzling_premain.txt" + - "--device=IOS_17" + - "--fail-fast" + - "--farm=bs" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 5 + concurrency_group: browserstack-app + concurrency_method: eager + + - label: ":bitbar: iOS 16 E2E Tests swizzling premain" + depends_on: + - ios_fixture_swizzling_premain + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_premain.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_premain.txt" + - "--device=IOS_16" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 15 E2E Tests swizzling premain" + depends_on: + - ios_fixture_swizzling_premain + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_premain.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_premain.txt" + - "--device=IOS_15" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager + + - label: ":bitbar: iOS 14 E2E Tests swizzling premain" + depends_on: + - ios_fixture_swizzling_premain + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/bb_url_swizzling_premain.txt" + upload: + - "maze_output/failed/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.8.0: + pull: maze-runner-bb + run: maze-runner-bb + service-ports: true + command: + - "--app=@build/bb_url_swizzling_premain.txt" + - "--device=IOS_14" + - "--fail-fast" + - "--farm=bb" + - "--no-tunnel" + - "--aws-public-ip" + - "features/default" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar-app + concurrency_method: eager diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 1ff10f20..89085736 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,6 +1,6 @@ env: LANG: "en_GB.UTF-8" - XCODE_VERSION: "15.3.0" + XCODE_VERSION: "15.4.0" agents: queue: macos-14 @@ -29,7 +29,6 @@ steps: commands: - bundle install - pod lib lint BugsnagPerformance.podspec.json - skip: "Skipped due to https://github.com/CocoaPods/CocoaPods/issues/12664" - label: "Example" commands: @@ -70,8 +69,10 @@ steps: - ./features/fixtures/ios/build.sh --disableSwizzling --fixtureName FixtureWithDisableSwizzling - bundle install - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/FixtureWithDisableSwizzling.ipa --app-id-file=./features/fixtures/ios/output/bb_url_swizzling_disabled.txt + - bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/FixtureWithDisableSwizzling.ipa --app-id-file=./features/fixtures/ios/output/bs_url_swizzling_disabled.txt artifact_paths: - features/fixtures/ios/output/bb_url_swizzling_disabled.txt + - features/fixtures/ios/output/bs_url_swizzling_disabled.txt - label: "Fixture swizzling premain" key: ios_fixture_swizzling_premain @@ -79,14 +80,16 @@ steps: - ./features/fixtures/ios/build.sh --swizzlingPremain --fixtureName FixtureWithSwizzlingPremain - bundle install - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/FixtureWithSwizzlingPremain.ipa --app-id-file=./features/fixtures/ios/output/bb_url_swizzling_premain.txt + - bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/FixtureWithSwizzlingPremain.ipa --app-id-file=./features/fixtures/ios/output/bs_url_swizzling_premain.txt artifact_paths: - features/fixtures/ios/output/bb_url_swizzling_premain.txt + - features/fixtures/ios/output/bs_url_swizzling_premain.txt - group: ":xcode_simulator: Unit Tests" steps: - - label: "iOS 17 Unit Tests" + - label: "iOS 18 Unit Tests" commands: - - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=17.4 DEVICE="iPhone 15" + - ./scripts/run-unit-tests.sh PLATFORM=iOS OS=18.0 DEVICE="iPhone 15" plugins: artifacts#v1.9.3: upload: @@ -103,9 +106,6 @@ steps: env: XCODE_VERSION: "14" - # - # BitBar - # - group: "E2E Tests" steps: - label: ":browserstack: iOS 18 E2E Tests" @@ -139,105 +139,6 @@ steps: concurrency_group: browserstack-app concurrency_method: eager - - label: ":bitbar: iOS 16 E2E Tests" - depends_on: - - ios_fixture - timeout_in_minutes: 30 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/bb_ipa_url.txt" - upload: - - "maze_output/failed/**/*" - - "maze_output/metrics.csv" - - "maze_output/maze_output.zip" - docker-compose#v4.8.0: - pull: maze-runner-bb - run: maze-runner-bb - service-ports: true - command: - - "--app=@build/bb_ipa_url.txt" - - "--device=IOS_16" - - "--fail-fast" - - "--farm=bb" - - "--no-tunnel" - - "--aws-public-ip" - - "features/default" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar-app - concurrency_method: eager - - - label: ":bitbar: iOS 15 E2E Tests" - depends_on: - - ios_fixture - timeout_in_minutes: 30 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/bb_ipa_url.txt" - upload: - - "maze_output/failed/**/*" - - "maze_output/metrics.csv" - - "maze_output/maze_output.zip" - docker-compose#v4.8.0: - pull: maze-runner-bb - run: maze-runner-bb - service-ports: true - command: - - "--app=@build/bb_ipa_url.txt" - - "--device=IOS_15" - - "--fail-fast" - - "--farm=bb" - - "--no-tunnel" - - "--aws-public-ip" - - "features/default" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar-app - concurrency_method: eager - - - label: ":bitbar: iOS 14 E2E Tests" - depends_on: - - ios_fixture - timeout_in_minutes: 30 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/bb_ipa_url.txt" - upload: - - "maze_output/failed/**/*" - - "maze_output/metrics.csv" - - "maze_output/maze_output.zip" - docker-compose#v4.8.0: - pull: maze-runner-bb - run: maze-runner-bb - service-ports: true - command: - - "--app=@build/bb_ipa_url.txt" - - "--device=IOS_14" - - "--fail-fast" - - "--farm=bb" - - "--no-tunnel" - - "--aws-public-ip" - - "features/default" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar-app - concurrency_method: eager - - label: ":bitbar: iOS 13 E2E Tests" depends_on: - ios_fixture @@ -271,7 +172,7 @@ steps: concurrency_group: bitbar-app concurrency_method: eager - - group: ":bitbar: XcFramework E2E Tests" + - group: "XcFramework E2E Tests" steps: - label: ":browserstack: iOS XcFramework 18 E2E Tests" depends_on: @@ -295,7 +196,6 @@ steps: - "--device=IOS_18" - "--fail-fast" - "--farm=bs" - - "--exclude=features/default/automatic_spans_generic_view_load.feature" - "features/default/automatic_spans.feature" test-collector#v1.10.2: files: "reports/TEST-*.xml" @@ -329,7 +229,6 @@ steps: - "--farm=bb" - "--no-tunnel" - "--aws-public-ip" - - "--exclude=features/default/automatic_spans_generic_view_load.feature" - "features/default/automatic_spans.feature" test-collector#v1.10.2: files: "reports/TEST-*.xml" @@ -339,9 +238,9 @@ steps: concurrency_group: bitbar-app concurrency_method: eager - - group: ":bitbar: Swizzling disabled E2E Tests" + - group: "Swizzling disabled E2E Tests" steps: - - label: ":bitbar: iOS 16 E2E Tests swizzling disabled" + - label: ":browserstack: iOS 18 E2E Tests swizzling disabled" depends_on: - ios_fixture_swizzling_disabled timeout_in_minutes: 30 @@ -349,31 +248,30 @@ steps: queue: opensource plugins: artifacts#v1.9.3: - download: "features/fixtures/ios/output/bb_url_swizzling_disabled.txt" + download: "features/fixtures/ios/output/bs_url_swizzling_disabled.txt" upload: - "maze_output/failed/**/*" - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" docker-compose#v4.8.0: - pull: maze-runner-bb - run: maze-runner-bb + pull: maze-runner-bs + run: maze-runner-bs service-ports: true command: - - "--app=@build/bb_url_swizzling_disabled.txt" - - "--device=IOS_16" + - "--app=@build/bs_url_swizzling_disabled.txt" + - "--device=IOS_18" - "--fail-fast" - - "--farm=bb" - - "--no-tunnel" - - "--aws-public-ip" + - "--farm=bs" - "features/swizzling_disabled" test-collector#v1.10.2: files: "reports/TEST-*.xml" format: "junit" branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar-app + concurrency: 5 + concurrency_group: browserstack-app concurrency_method: eager - - label: ":bitbar: iOS 14 E2E Tests swizzling disabled" + - label: ":bitbar: iOS 13 E2E Tests swizzling disabled" depends_on: - ios_fixture_swizzling_disabled timeout_in_minutes: 30 @@ -391,7 +289,7 @@ steps: service-ports: true command: - "--app=@build/bb_url_swizzling_disabled.txt" - - "--device=IOS_14" + - "--device=IOS_13" - "--fail-fast" - "--farm=bb" - "--no-tunnel" @@ -405,9 +303,9 @@ steps: concurrency_group: bitbar-app concurrency_method: eager - - group: ":bitbar: Swizzling premain E2E Tests" + - group: "Swizzling premain E2E Tests" steps: - - label: ":bitbar: iOS 16 E2E Tests swizzling premain" + - label: ":browserstack: iOS 18 E2E Tests swizzling premain" depends_on: - ios_fixture_swizzling_premain timeout_in_minutes: 30 @@ -415,31 +313,30 @@ steps: queue: opensource plugins: artifacts#v1.9.3: - download: "features/fixtures/ios/output/bb_url_swizzling_premain.txt" + download: "features/fixtures/ios/output/bs_url_swizzling_premain.txt" upload: - "maze_output/failed/**/*" - "maze_output/metrics.csv" + - "maze_output/maze_output.zip" docker-compose#v4.8.0: - pull: maze-runner-bb - run: maze-runner-bb + pull: maze-runner-bs + run: maze-runner-bs service-ports: true command: - - "--app=@build/bb_url_swizzling_premain.txt" - - "--device=IOS_16" + - "--app=@build/bs_url_swizzling_premain.txt" + - "--device=IOS_18" - "--fail-fast" - - "--farm=bb" - - "--no-tunnel" - - "--aws-public-ip" + - "--farm=bs" - "features/default" test-collector#v1.10.2: files: "reports/TEST-*.xml" format: "junit" branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar-app + concurrency: 5 + concurrency_group: browserstack-app concurrency_method: eager - - label: ":bitbar: iOS 14 E2E Tests swizzling premain" + - label: ":bitbar: iOS 13 E2E Tests swizzling premain" depends_on: - ios_fixture_swizzling_premain timeout_in_minutes: 30 @@ -457,7 +354,7 @@ steps: service-ports: true command: - "--app=@build/bb_url_swizzling_premain.txt" - - "--device=IOS_14" + - "--device=IOS_13" - "--fail-fast" - "--farm=bb" - "--no-tunnel" @@ -470,3 +367,6 @@ steps: concurrency: 25 concurrency_group: bitbar-app concurrency_method: eager + + - label: 'Conditionally trigger full set of tests' + command: sh -c .buildkite/pipeline_trigger.sh diff --git a/.buildkite/pipeline_trigger.sh b/.buildkite/pipeline_trigger.sh new file mode 100755 index 00000000..4360ed1d --- /dev/null +++ b/.buildkite/pipeline_trigger.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env sh + +if [[ "$BUILDKITE_MESSAGE" == *"[full ci]"* || + "$BUILDKITE_PULL_REQUEST_BASE_BRANCH" == "main" || + ! -z "$FULL_SCHEDULED_BUILD" ]]; then + echo "Running full build" + buildkite-agent pipeline upload .buildkite/pipeline.full.yml +else + # Basic build, but allow a full build to be triggered + echo "Running basic build" + buildkite-agent pipeline upload .buildkite/block.full.yml +fi