diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 11531a868..641f51a25 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,65 +1,5 @@ steps: - - label: 'Audit current licenses' - timeout_in_minutes: 30 - agents: - queue: macos-14 - command: ./scripts/license_finder.sh - - - label: 'AWS - SAM tests' - timeout_in_minutes: 30 - agents: - queue: "macos-14" - env: - NODE_VERSION: "18" - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1" - command: >- - cd test/fixtures/aws-sam && - bundle install && - bundle exec maze-runner - --no-log-requests - - - label: 'Build Android Performance test fixture' - timeout_in_minutes: 30 - key: android-test-fixture - agents: - queue: macos-14 - command: - - cd bugsnag-android-performance - - make test-fixture - plugins: - artifacts#v1.9.0: - upload: "bugsnag-android-performance/build/test-fixture.apk" - - - label: 'Build iOS test fixture' - timeout_in_minutes: 30 - key: ios-test-fixture - agents: - queue: macos-14 - command: - - cd bugsnag-cocoa - - bundle install - - make test-fixtures - plugins: - artifacts#v1.9.0: - upload: "bugsnag-cocoa/features/fixtures/ios/output/iOSTestApp.ipa" - - - label: ':docker: Build CI image for Ruby 2' - timeout_in_minutes: 30 - key: "ci-image-ruby-2" - plugins: - - docker-compose#v4.14.0: - build: - - ci-ruby-2 - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - ci-ruby-2:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-ci-ruby-2 - - docker-compose#v4.14.0: - push: - - ci-ruby-2:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-ci-ruby-2 - env: - RUBY_VERSION: "2" - - label: ':docker: Build CI image for Ruby 3' timeout_in_minutes: 30 key: "ci-image-ruby-3" @@ -76,98 +16,6 @@ steps: env: RUBY_VERSION: "3" - - label: 'Unit tests with Ruby 2' - timeout_in_minutes: 30 - depends_on: 'ci-image-ruby-2' - plugins: - docker-compose#v4.14.0: - run: unit-test-ruby-2 - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - ci-ruby-2:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-ci-ruby-2 - command: 'bundle exec rake' - - - label: 'Unit tests with Ruby 3' - timeout_in_minutes: 30 - depends_on: 'ci-image-ruby-3' - plugins: - docker-compose#v4.14.0: - run: unit-test-ruby-3 - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - ci-ruby-3:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-ci-ruby-3 - command: 'bundle exec rake' - - - label: ':docker: Push W3C CLI image for branch' - key: push-branch-cli - timeout_in_minutes: 30 - depends_on: "ci-image-ruby-2" - plugins: - - docker-compose#v4.14.0: - build: cli - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli - - docker-compose#v4.14.0: - push: - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli - - - label: ':docker: Push Legacy CLI image for branch' - key: push-branch-cli-legacy - timeout_in_minutes: 30 - depends_on: "ci-image-ruby-2" - plugins: - - docker-compose#v4.14.0: - build: cli-legacy - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli-legacy - - docker-compose#v4.14.0: - push: - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli-legacy - - - label: 'No-device tests with Ruby 2 - batch 1' - timeout_in_minutes: 30 - depends_on: "ci-image-ruby-2" - plugins: - - docker-compose#v4.14.0: - run: framework-tests - - docker-compose#v4.14.0: - run: comparison-tests - - docker-compose#v4.14.0: - run: proxy-tests - - docker-compose#v4.14.0: - run: cli-tests - - docker-compose#v4.14.0: - run: http-response-tests - env: - RUBY_VERSION: "2" - USE_LEGACY_DRIVER: "1" - command: 'bundle exec maze-runner' - - - label: 'No-device tests with Ruby 2 - batch 2' - timeout_in_minutes: 30 - depends_on: "ci-image-ruby-2" - plugins: - - docker-compose#v4.14.0: - run: payload-helper-tests - - docker-compose#v4.14.0: - run: docker-tests - - docker-compose#v4.14.0: - run: doc-server-tests - - docker-compose#v4.14.0: - run: exit-codes-tests - - docker-compose#v4.14.0: - run: command-workflow-tests - - artifacts#v1.9.0: - upload: - - test/fixtures/payload-helpers/maze_output/**/* - - test/fixtures/payload-helpers/maze_output/* - env: - RUBY_VERSION: "2" - USE_LEGACY_DRIVER: "1" - command: 'bundle exec maze-runner' - - label: 'No-device tests with Ruby 3 - batch 1' timeout_in_minutes: 30 depends_on: "ci-image-ruby-3" @@ -177,7 +25,7 @@ steps: - docker-compose#v4.14.0: run: comparison-tests - docker-compose#v4.14.0: - run: proxy-tests + run: command-workflow-tests - docker-compose#v4.14.0: run: cli-tests - docker-compose#v4.14.0: @@ -185,246 +33,3 @@ steps: env: RUBY_VERSION: "3" command: 'bundle exec maze-runner' - - - label: 'No-device tests with Ruby 3 - batch 2' - timeout_in_minutes: 30 - depends_on: "ci-image-ruby-3" - plugins: - - docker-compose#v4.14.0: - run: payload-helper-tests - - docker-compose#v4.14.0: - run: docker-tests - - docker-compose#v4.14.0: - run: doc-server-tests - - docker-compose#v4.14.0: - run: exit-codes-tests - - docker-compose#v4.14.0: - run: command-workflow-tests - env: - RUBY_VERSION: "3" - command: 'bundle exec maze-runner' - - # - # BrowserStack tests - # - - - label: 'browserstack: Android 8.1 - JWP' - timeout_in_minutes: 20 - depends_on: - - "android-test-fixture" - - "push-branch-cli-legacy" - plugins: - artifacts#v1.9.0: - download: "bugsnag-android-performance/build/test-fixture.apk" - upload: - - "bugsnag-android-performance/maze_output/**/*" - docker-compose#v4.14.0: - pull: appium-test-bs-legacy - run: appium-test-bs-legacy - volumes: - - "./bugsnag-android-performance/build:/app/build" - - "./bugsnag-android-performance/features:/app/features" - - "./bugsnag-android-performance/maze_output:/app/maze_output" - command: - - "--app=build/test-fixture.apk" - - "--farm=bs" - - "--device=ANDROID_8" - - "--fail-fast" - - "features/manual_spans.feature" - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli-legacy - env: - RUBY_VERSION: "2" - concurrency: 5 - concurrency_group: 'browserstack-app' - concurrency_method: eager - - - label: ':browserstack: iOS 15 - W3C' - timeout_in_minutes: 20 - depends_on: - - "ios-test-fixture" - - "push-branch-cli" - plugins: - artifacts#v1.9.0: - download: "bugsnag-cocoa/features/fixtures/ios/output/iOSTestApp.ipa" - upload: "bugsnag-cocoa/maze_output/**/*" - docker-compose#v4.14.0: - pull: appium-test-bs - run: appium-test-bs - volumes: - - "./bugsnag-cocoa/build:/app/build" - - "./bugsnag-cocoa/features:/app/features" - - "./bugsnag-cocoa/maze_output:/app/maze_output" - command: - - "--app=features/fixtures/ios/output/iOSTestApp.ipa" - - "--farm=bs" - - "--device=IOS_15" - - "--fail-fast" - - "features/barebone_tests.feature" - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli - env: - RUBY_VERSION: "3" - concurrency: 5 - concurrency_group: 'browserstack-app' - concurrency_method: eager - - - label: ':browserstack: Firefox - JWP' - depends_on: "push-branch-cli-legacy" - timeout_in_minutes: 10 - plugins: - docker-compose#v4.14.0: - run: browser-tests-legacy - use-aliases: true - verbose: true - command: - - "--farm=bs" - - "--browser=firefox_latest" - - "--fail-fast" - concurrency: 2 - concurrency_group: 'browserstack' - concurrency_method: eager - - - label: ':browserstack: Firefox - W3C' - depends_on: "push-branch-cli" - timeout_in_minutes: 10 - plugins: - docker-compose#v4.14.0: - pull: browser-tests - run: browser-tests - use-aliases: true - verbose: true - command: - - "--farm=bs" - - "--browser=firefox_latest" - - "--fail-fast" - concurrency: 2 - concurrency_group: 'browserstack' - concurrency_method: eager - - # - # BitBar tests - # - - - label: ':bitbar: Safari 15' - depends_on: "push-branch-cli" - timeout_in_minutes: 10 - plugins: - artifacts#v1.9.0: - upload: "maze_output/failed/**/*" - docker-compose#v4.14.0: - pull: browser-tests-bitbar - run: browser-tests-bitbar - service-ports: true - use-aliases: true - verbose: true - command: - - "--farm=bb" - - "--browser=safari_15" - - "--aws-public-ip" - - "--fail-fast" - - "--no-tunnel" - env: - RUBY_VERSION: "2" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - - label: ':bitbar: Android' - timeout_in_minutes: 20 - depends_on: - - "android-test-fixture" - - "push-branch-cli" - plugins: - artifacts#v1.9.0: - download: "bugsnag-android-performance/build/test-fixture.apk" - upload: "bugsnag-android-performance/maze_output/**/*" - docker-compose#v4.14.0: - pull: appium-test-bb - run: appium-test-bb - volumes: - - "./bugsnag-android-performance/build:/app/build" - - "./bugsnag-android-performance/features:/app/features" - - "./bugsnag-android-performance/maze_output:/app/maze_output" - service-ports: true - command: - - "--app=build/test-fixture.apk" - - "--appium-version=1.22" - - "--farm=bb" - - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - - "--fail-fast" - - "--no-tunnel" - - "--aws-public-ip" - - "features/manual_spans.feature" - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - env: - RUBY_VERSION: "3" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - - label: ':bitbar: iOS' - timeout_in_minutes: 20 - depends_on: - - "ios-test-fixture" - - "push-branch-cli" - plugins: - artifacts#v1.9.0: - download: "bugsnag-cocoa/features/fixtures/ios/output/iOSTestApp.ipa" - upload: "bugsnag-cocoa/maze_output/**/*" - docker-compose#v4.14.0: - pull: appium-test-bb - run: appium-test-bb - volumes: - - "./bugsnag-cocoa/build:/app/build" - - "./bugsnag-cocoa/features:/app/features" - - "./bugsnag-cocoa/maze_output:/app/maze_output" - service-ports: true - command: - - "--app=features/fixtures/ios/output/iOSTestApp.ipa" - - "--farm=bb" - - "--device=IOS_14|IOS_15|IOS_16" - - "--fail-fast" - - "--no-tunnel" - - "--aws-public-ip" - - "features/barebone_tests.feature" - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner - cache-from: - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:${BRANCH_NAME}-cli - env: - RUBY_VERSION: "3" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - - wait - - - label: 'Update docs' - if: build.tag =~ /^v[0-9]{1,2}\.[0-9]+\.[0-9]+\$/ - plugins: - docker-compose#v4.14.0: - run: docs - command: 'bundle exec rake docs:build_and_publish' - - # Release images are pushed to their own repository so that they don't get aged off. - - label: 'Push Docker image for tag' - if: build.tag =~ /^v[0-9]{1,2}\.[0-9]+\.[0-9]+\$/ - plugins: - - docker-compose#v4.14.0: - push: - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:${BUILDKITE_TAG}-cli - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli - - cli:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-cli - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:${BUILDKITE_TAG}-cli-legacy - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli-legacy - - cli-legacy:855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-cli-legacy - - - label: 'Push to RubyGems.org' - if: build.tag =~ /^v[0-9]{1,2}\.[0-9]+\.[0-9]+\$/ - agents: - queue: macos-14 - commands: - - 'gem build bugsnag-maze-runner.gemspec' - - 'gem push bugsnag-maze-runner-*.gem'