diff --git a/.buildkite/block.full.yml b/.buildkite/block.yml similarity index 88% rename from .buildkite/block.full.yml rename to .buildkite/block.yml index 44318241..60b55926 100644 --- a/.buildkite/block.full.yml +++ b/.buildkite/block.yml @@ -1,3 +1,6 @@ +agents: + queue: opensource + steps: - block: 'Trigger a full build' key: 'trigger-full-build' diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index bab2f974..833cc77b 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -1,696 +1,15 @@ -aliases: - - &2020 "2020.3.48f1" - - &2021 "2021.3.36f1" - - &2022 "2022.3.22f1" - agents: - queue: macos-14 + queue: opensource steps: - - label: ':macos: Build macos test fixture for Unity 2020' - timeout_in_minutes: 30 - key: build-macos-fixture-2020 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_macos_2020.zip - - features/fixtures/build_macos.log - commands: - - bundle install - - 'rake test:macos:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run MacOS e2e tests for Unity 2020 - timeout_in_minutes: 60 - depends_on: build-macos-fixture-2020 - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_macos_2020.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-macos-ci-tests.sh release - - - label: ':macos: Build macos test fixture for Unity 2022' - timeout_in_minutes: 30 - key: build-macos-fixture-2022 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_macos_2022.zip - - features/fixtures/build_macos.log - commands: - - bundle install - - 'rake test:macos:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run MacOS e2e tests for Unity 2022 - timeout_in_minutes: 60 - depends_on: build-macos-fixture-2022 - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_macos_2022.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-macos-ci-tests.sh release - - - label: ':windows: Build Windows test fixture for Unity 2020' - timeout_in_minutes: 30 - key: build-windows-fixture-2020 - depends_on: build-artifacts - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/build/Windows-2020.zip - - features/fixtures/build_windows.log - commands: - - features/scripts/import_package.sh --windows - - features/scripts/build_windows.sh release - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run Windows e2e tests for Unity 2020 - timeout_in_minutes: 60 - depends_on: build-windows-fixture-2020 - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/build/Windows-2020.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-windows-ci-tests.sh release - - - label: ':windows: Build Windows test fixture for Unity 2022' - timeout_in_minutes: 30 - key: build-windows-fixture-2022 - depends_on: build-artifacts - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/build/Windows-2022.zip - - features/fixtures/build_windows.log + - name: 'Append Unity 2020 Full Pipeline' commands: - - features/scripts/import_package.sh --windows - - features/scripts/build_windows.sh release - retry: - automatic: - - exit_status: '*' - limit: 1 + - buildkite-agent pipeline upload .buildkite/unity.2020.full.yml - - label: Run Windows e2e tests for Unity 2022 - timeout_in_minutes: 60 - depends_on: build-windows-fixture-2022 - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/build/Windows-2022.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" + - name: 'Append Unity 2021 Full Pipeline' commands: - - features/scripts/run-windows-ci-tests.sh release + - buildkite-agent pipeline upload .buildkite/unity.2021.full.yml - - label: ':android: Build Android test fixture for Unity 2020' - timeout_in_minutes: 30 - key: build-android-fixture-2020 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_2020.apk - - features/fixtures/import_package.log - - features/fixtures/build_android.log + - name: 'Append Unity 2022 Full Pipeline' commands: - - bundle install - - 'rake test:android:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run Android e2e tests for Unity 2020' - timeout_in_minutes: 60 - depends_on: build-android-fixture-2020 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2020.apk - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2020.apk' - - '--farm=bb' - - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' - - '--appium-version=1.22' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - - label: ':android: Build Android test fixture for Unity 2022' - timeout_in_minutes: 30 - key: build-android-fixture-2022 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_2022.apk - - features/fixtures/import_package.log - - features/fixtures/build_android.log - commands: - - bundle install - - 'rake test:android:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run Android e2e tests for Unity 2022' - timeout_in_minutes: 60 - depends_on: build-android-fixture-2022 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2022.apk - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2022.apk' - - '--farm=bb' - - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' - - '--appium-version=1.22' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - - label: ':ios: Generate Xcode project - Unity 2020' - timeout_in_minutes: 30 - key: generate-fixture-project-2020 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/generateXcodeProject.log - - project_2020.tgz - commands: - - bundle install - - 'rake test:ios:generate_xcode' - - tar -zvcf project_2020.tgz features/fixtures/mazerunner/mazerunner_xcode - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':ios: Build iOS test fixture for Unity 2020' - timeout_in_minutes: 30 - key: build-ios-fixture-2020 - depends_on: generate-fixture-project-2020 - env: - XCODE_VERSION: 15.3.0 - UNITY_PERFORMANCE_VERSION: *2020 - plugins: - 'artifacts#v1.9.0': - download: - - project_2020.tgz - upload: - - features/fixtures/mazerunner/mazerunner_2020.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2020.tgz features/fixtures/mazerunner - - 'rake test:ios:build_xcode' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run iOS e2e tests for Unity 2020' - timeout_in_minutes: 60 - depends_on: build-ios-fixture-2020 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2020.ipa - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2020.ipa' - - '--farm=bb' - - '--device=IOS_15' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - - label: ':ios: Generate Xcode project - Unity 2022' - timeout_in_minutes: 30 - key: generate-fixture-project-2022 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/generateXcodeProject.log - - project_2022.tgz - commands: - - bundle install - - 'rake test:ios:generate_xcode' - - tar -zvcf project_2022.tgz features/fixtures/mazerunner/mazerunner_xcode - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':ios: Build iOS test fixture for Unity 2022' - timeout_in_minutes: 30 - key: build-ios-fixture-2022 - depends_on: generate-fixture-project-2022 - env: - XCODE_VERSION: 15.3.0 - UNITY_PERFORMANCE_VERSION: *2022 - plugins: - 'artifacts#v1.9.0': - download: - - project_2022.tgz - upload: - - features/fixtures/mazerunner/mazerunner_2022.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2022.tgz features/fixtures/mazerunner - - 'rake test:ios:build_xcode' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run iOS e2e tests for Unity 2022' - timeout_in_minutes: 60 - depends_on: build-ios-fixture-2022 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2022.ipa - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2022.ipa' - - '--farm=bb' - - '--device=IOS_15' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - #DEV - - - label: ':webgl: Build webgl DEV test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-webgl-dev-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_webgl_dev_2021.zip - - features/fixtures/build_webgl.log - commands: - - bundle install - - 'rake test:webgl:build_dev' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - - label: Run WebGL DEV e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-webgl-dev-fixture-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/mazerunner_webgl_dev_2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-webgl-ci-tests.sh dev - - - label: ':windows: Build Windows DEV test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-windows-dev-fixture-2021 - depends_on: build-artifacts - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/build/Windows-dev-2021.zip - - features/fixtures/build_windows.log - commands: - - features/scripts/import_package.sh --windows - - features/scripts/build_windows.sh dev - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run Windows DEV e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-windows-dev-fixture-2021 - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/build/Windows-dev-2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - commands: - - features/scripts/run-windows-ci-tests.sh dev - - - label: ':macos: Build macos DEV test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-macos-dev-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_macos_dev_2021.zip - - features/fixtures/build_macos.log - commands: - - bundle install - - 'rake test:macos:build_dev' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run MacOS DEV e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-macos-dev-fixture-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/mazerunner_macos_dev_2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-macos-ci-tests.sh dev - - - label: ':android: Build Android Dev test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-android-dev-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner-dev_2021.apk - - features/fixtures/import_package.log - - features/fixtures/build_android_dev.log - commands: - - bundle install - - 'rake test:android:build_dev' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run Android DEV e2e tests for Unity 2021' - timeout_in_minutes: 60 - depends_on: build-android-dev-fixture-2021 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner-dev_2021.apk - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner-dev_2021.apk' - - '--farm=bb' - - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' - - '--appium-version=1.22' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - - label: ':ios: Generate Xcode DEV project - Unity 2021' - timeout_in_minutes: 30 - key: generate-dev-fixture-project-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/generateXcodeProject.log - - dev_project_2021.tgz - commands: - - bundle install - - 'rake test:ios:generate_xcode_dev' - - tar -zvcf dev_project_2021.tgz features/fixtures/mazerunner/mazerunner_dev_xcode - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':ios: Build iOS DEV test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-ios-dev-fixture-2021 - depends_on: generate-dev-fixture-project-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - dev_project_2021.tgz - upload: - - features/fixtures/mazerunner/mazerunner_dev_2021.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf dev_project_2021.tgz features/fixtures/mazerunner - - 'rake test:ios:build_xcode_dev' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run iOS DEV e2e tests for Unity 2021' - timeout_in_minutes: 60 - depends_on: build-ios-dev-fixture-2021 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_dev_2021.ipa - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_dev_2021.ipa' - - '--farm=bb' - - '--device=IOS_15' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager + - buildkite-agent pipeline upload .buildkite/unity.2022.full.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index b9a85523..647c0423 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,7 +1,6 @@ aliases: - - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" - - &2022 "2022.3.22f1" + - &2020 "2020.3.48f1" agents: queue: macos-14 @@ -22,8 +21,7 @@ steps: - exit_status: '*' limit: 1 - - - label: 'build size impact reporting' + - label: Build size impact reporting timeout_in_minutes: 10 depends_on: build-artifacts env: @@ -35,262 +33,9 @@ steps: commands: features/scripts/do_size_test.sh - - label: ':webgl: Build webgl test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-webgl-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_webgl_2021.zip - - features/fixtures/build_webgl.log - commands: - - bundle install - - 'rake test:webgl:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run WebGL e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-webgl-fixture-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/mazerunner_webgl_2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-webgl-ci-tests.sh release - - - label: ':windows: Build Windows test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-windows-fixture-2021 - depends_on: build-artifacts - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/build/Windows-2021.zip - - features/fixtures/build_windows.log - commands: - - features/scripts/import_package.sh --windows - - features/scripts/build_windows.sh release - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run Windows e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-windows-fixture-2021 - agents: - queue: windows-unity-wsl - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/build/Windows-2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - commands: - - features/scripts/run-windows-ci-tests.sh release - - - label: ':macos: Build macos test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-macos-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_macos_2021.zip - - features/fixtures/build_macos.log - commands: - - bundle install - - 'rake test:macos:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: Run MacOS e2e tests for Unity 2021 - timeout_in_minutes: 60 - depends_on: build-macos-fixture-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.5.0': - download: - - features/fixtures/mazerunner/mazerunner_macos_2021.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - 'clear_cache.log' - - maze_output/metrics.csv - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" + - name: 'Append Unity 2021 Basic Pipeline' commands: - - features/scripts/run-macos-ci-tests.sh release - - - label: ':android: Build Android test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-android-fixture-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/mazerunner/mazerunner_2021.apk - - features/fixtures/import_package.log - - features/fixtures/build_android.log - commands: - - bundle install - - 'rake test:android:build' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run Android e2e tests for Unity 2021' - timeout_in_minutes: 60 - depends_on: build-android-fixture-2021 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2021.apk - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2021.apk' - - '--farm=bb' - - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' - - '--appium-version=1.22' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager - - - label: ':ios: Generate Xcode project - Unity 2021' - timeout_in_minutes: 30 - key: generate-fixture-project-2021 - depends_on: build-artifacts - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - upm-package.zip - upload: - - features/fixtures/generateXcodeProject.log - - project_2021.tgz - commands: - - bundle install - - 'rake test:ios:generate_xcode' - - tar -zvcf project_2021.tgz features/fixtures/mazerunner/mazerunner_xcode - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':ios: Build iOS test fixture for Unity 2021' - timeout_in_minutes: 30 - key: build-ios-fixture-2021 - depends_on: generate-fixture-project-2021 - env: - UNITY_PERFORMANCE_VERSION: *2021 - plugins: - 'artifacts#v1.9.0': - download: - - project_2021.tgz - upload: - - features/fixtures/mazerunner/mazerunner_2021.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2021.tgz features/fixtures/mazerunner - - 'rake test:ios:build_xcode' - retry: - automatic: - - exit_status: '*' - limit: 1 - - - label: ':bitbar: Run iOS e2e tests for Unity 2021' - timeout_in_minutes: 60 - depends_on: build-ios-fixture-2021 - agents: - queue: opensource - plugins: - 'artifacts#v1.9.0': - download: - - features/fixtures/mazerunner/mazerunner_2021.ipa - upload: - - maze_output/**/* - 'docker-compose#v4.8.0': - pull: maze-runner - run: maze-runner - service-ports: true - command: - - '--app=/app/features/fixtures/mazerunner/mazerunner_2021.ipa' - - '--farm=bb' - - '--device=IOS_15' - - '--no-tunnel' - - '--aws-public-ip' - - '--fail-fast' - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - concurrency: 25 - concurrency_group: bitbar - concurrency_method: eager + - buildkite-agent pipeline upload .buildkite/unity.2021.yml - label: Conditionally trigger full set of tests timeout_in_minutes: 30 diff --git a/.buildkite/pipeline_trigger.sh b/.buildkite/pipeline_trigger.sh index e3e8e021..053c9b01 100755 --- a/.buildkite/pipeline_trigger.sh +++ b/.buildkite/pipeline_trigger.sh @@ -10,5 +10,5 @@ if [[ "$BUILDKITE_MESSAGE" == *"[full ci]"* || else # Basic build, but allow a full build to be triggered echo "Running basic build" - buildkite-agent pipeline upload .buildkite/block.full.yml + buildkite-agent pipeline upload .buildkite/block.yml fi diff --git a/.buildkite/unity.2020.full.yml b/.buildkite/unity.2020.full.yml new file mode 100644 index 00000000..f6a77c73 --- /dev/null +++ b/.buildkite/unity.2020.full.yml @@ -0,0 +1,233 @@ +aliases: + - &2020 "2020.3.48f1" + +agents: + queue: macos-14 + +steps: + - group: ":hammer: Build Unity 2020 Test Fixtures" + steps: + - label: ':macos: Build macos test fixture for Unity 2020' + timeout_in_minutes: 30 + key: build-macos-fixture-2020 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_macos_2020.zip + - features/fixtures/build_macos.log + commands: + - bundle install + - 'rake test:macos:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':windows: Build Windows test fixture for Unity 2020' + timeout_in_minutes: 30 + key: build-windows-fixture-2020 + depends_on: build-artifacts + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/build/Windows-2020.zip + - features/fixtures/build_windows.log + commands: + - features/scripts/import_package.sh --windows + - features/scripts/build_windows.sh release + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':android: Build Android test fixture for Unity 2020' + timeout_in_minutes: 30 + key: build-android-fixture-2020 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_2020.apk + - features/fixtures/import_package.log + - features/fixtures/build_android.log + commands: + - bundle install + - 'rake test:android:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Generate Xcode project - Unity 2020' + timeout_in_minutes: 30 + key: generate-fixture-project-2020 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/generateXcodeProject.log + - project_2020.tgz + commands: + - bundle install + - 'rake test:ios:generate_xcode' + - tar -zvcf project_2020.tgz features/fixtures/mazerunner/mazerunner_xcode + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Build iOS test fixture for Unity 2020' + timeout_in_minutes: 30 + key: build-ios-fixture-2020 + depends_on: generate-fixture-project-2020 + env: + XCODE_VERSION: 15.3.0 + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - project_2020.tgz + upload: + - features/fixtures/mazerunner/mazerunner_2020.ipa + - features/fixtures/unity.log + commands: + - bundle install + - tar -zxf project_2020.tgz features/fixtures/mazerunner + - 'rake test:ios:build_xcode' + retry: + automatic: + - exit_status: '*' + limit: 1 + + + + + + - group: ":test_tube: E2E Tests Unity 2020" + steps: + - label: Run MacOS e2e tests for Unity 2020 + timeout_in_minutes: 60 + depends_on: build-macos-fixture-2020 + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_macos_2020.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-macos-ci-tests.sh release + + - label: Run Windows e2e tests for Unity 2020 + timeout_in_minutes: 60 + depends_on: build-windows-fixture-2020 + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2020 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/build/Windows-2020.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-windows-ci-tests.sh release + + - label: ':bitbar: Run Android e2e tests for Unity 2020' + timeout_in_minutes: 60 + depends_on: build-android-fixture-2020 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2020.apk + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2020.apk' + - '--farm=bb' + - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' + - '--appium-version=1.22' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager + + - label: ':bitbar: Run iOS e2e tests for Unity 2020' + timeout_in_minutes: 60 + depends_on: build-ios-fixture-2020 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2020.ipa + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2020.ipa' + - '--farm=bb' + - '--device=IOS_15' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager + + + diff --git a/.buildkite/unity.2021.full.yml b/.buildkite/unity.2021.full.yml new file mode 100644 index 00000000..799f8c02 --- /dev/null +++ b/.buildkite/unity.2021.full.yml @@ -0,0 +1,263 @@ +aliases: + - &2021 "2021.3.36f1" + +agents: + queue: macos-14 + +steps: + - group: ":hammer: Build Unity 2021 Test Fixtures" + steps: + - label: ':webgl: Build webgl DEV test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-webgl-dev-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_webgl_dev_2021.zip + - features/fixtures/build_webgl.log + commands: + - bundle install + - 'rake test:webgl:build_dev' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':windows: Build Windows DEV test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-windows-dev-fixture-2021 + depends_on: build-artifacts + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/build/Windows-dev-2021.zip + - features/fixtures/build_windows.log + commands: + - features/scripts/import_package.sh --windows + - features/scripts/build_windows.sh dev + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':macos: Build macos DEV test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-macos-dev-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_macos_dev_2021.zip + - features/fixtures/build_macos.log + commands: + - bundle install + - 'rake test:macos:build_dev' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Generate Xcode DEV project - Unity 2021' + timeout_in_minutes: 30 + key: generate-dev-fixture-project-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/generateXcodeProject.log + - dev_project_2021.tgz + commands: + - bundle install + - 'rake test:ios:generate_xcode_dev' + - tar -zvcf dev_project_2021.tgz features/fixtures/mazerunner/mazerunner_dev_xcode + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Build iOS DEV test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-ios-dev-fixture-2021 + depends_on: generate-dev-fixture-project-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - dev_project_2021.tgz + upload: + - features/fixtures/mazerunner/mazerunner_dev_2021.ipa + - features/fixtures/unity.log + commands: + - bundle install + - tar -zxf dev_project_2021.tgz features/fixtures/mazerunner + - 'rake test:ios:build_xcode_dev' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - group: ":test_tube: E2E Tests Unity 2021" + steps: + - label: Run WebGL DEV e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-webgl-dev-fixture-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/mazerunner_webgl_dev_2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-webgl-ci-tests.sh dev + + - label: Run Windows DEV e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-windows-dev-fixture-2021 + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/build/Windows-dev-2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + commands: + - features/scripts/run-windows-ci-tests.sh dev + + - label: ':android: Build Android Dev test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-android-dev-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner-dev_2021.apk + - features/fixtures/import_package.log + - features/fixtures/build_android_dev.log + commands: + - bundle install + - 'rake test:android:build_dev' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: Run MacOS DEV e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-macos-dev-fixture-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/mazerunner_macos_dev_2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-macos-ci-tests.sh dev + + - label: ':bitbar: Run Android DEV e2e tests for Unity 2021' + timeout_in_minutes: 60 + depends_on: build-android-dev-fixture-2021 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner-dev_2021.apk + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner-dev_2021.apk' + - '--farm=bb' + - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' + - '--appium-version=1.22' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager + + - label: ':bitbar: Run iOS DEV e2e tests for Unity 2021' + timeout_in_minutes: 60 + depends_on: build-ios-dev-fixture-2021 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_dev_2021.ipa + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_dev_2021.ipa' + - '--farm=bb' + - '--device=IOS_15' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager diff --git a/.buildkite/unity.2021.yml b/.buildkite/unity.2021.yml new file mode 100644 index 00000000..ab12c3cf --- /dev/null +++ b/.buildkite/unity.2021.yml @@ -0,0 +1,267 @@ +aliases: + - &2021 "2021.3.36f1" + +agents: + queue: macos-14 + +steps: + - group: ":hammer: Build Unity 2021 Test Fixtures" + steps: + - label: ':webgl: Build webgl test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-webgl-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_webgl_2021.zip + - features/fixtures/build_webgl.log + commands: + - bundle install + - 'rake test:webgl:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':windows: Build Windows test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-windows-fixture-2021 + depends_on: build-artifacts + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/build/Windows-2021.zip + - features/fixtures/build_windows.log + commands: + - features/scripts/import_package.sh --windows + - features/scripts/build_windows.sh release + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':macos: Build macos test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-macos-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_macos_2021.zip + - features/fixtures/build_macos.log + commands: + - bundle install + - 'rake test:macos:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':android: Build Android test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-android-fixture-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_2021.apk + - features/fixtures/import_package.log + - features/fixtures/build_android.log + commands: + - bundle install + - 'rake test:android:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Generate Xcode project - Unity 2021' + timeout_in_minutes: 30 + key: generate-fixture-project-2021 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/generateXcodeProject.log + - project_2021.tgz + commands: + - bundle install + - 'rake test:ios:generate_xcode' + - tar -zvcf project_2021.tgz features/fixtures/mazerunner/mazerunner_xcode + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Build iOS test fixture for Unity 2021' + timeout_in_minutes: 30 + key: build-ios-fixture-2021 + depends_on: generate-fixture-project-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.9.0': + download: + - project_2021.tgz + upload: + - features/fixtures/mazerunner/mazerunner_2021.ipa + - features/fixtures/unity.log + commands: + - bundle install + - tar -zxf project_2021.tgz features/fixtures/mazerunner + - 'rake test:ios:build_xcode' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - group: ":test_tube: E2E Tests Unity 2021" + steps: + - label: Run WebGL e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-webgl-fixture-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/mazerunner_webgl_2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-webgl-ci-tests.sh release + + - label: Run Windows e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-windows-fixture-2021 + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/build/Windows-2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-windows-ci-tests.sh release + + - label: Run MacOS e2e tests for Unity 2021 + timeout_in_minutes: 60 + depends_on: build-macos-fixture-2021 + env: + UNITY_PERFORMANCE_VERSION: *2021 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/mazerunner_macos_2021.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-macos-ci-tests.sh release + + - label: ':bitbar: Run Android e2e tests for Unity 2021' + timeout_in_minutes: 60 + depends_on: build-android-fixture-2021 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2021.apk + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2021.apk' + - '--farm=bb' + - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' + - '--appium-version=1.22' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager + + - label: ':bitbar: Run iOS e2e tests for Unity 2021' + timeout_in_minutes: 60 + depends_on: build-ios-fixture-2021 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2021.ipa + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2021.ipa' + - '--farm=bb' + - '--device=IOS_15' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager diff --git a/.buildkite/unity.2022.full.yml b/.buildkite/unity.2022.full.yml new file mode 100644 index 00000000..bfd76e13 --- /dev/null +++ b/.buildkite/unity.2022.full.yml @@ -0,0 +1,226 @@ +aliases: + - &2022 "2022.3.22f1" + +agents: + queue: macos-14 + +steps: + - group: ":hammer: Build Unity 2022 Test Fixtures" + steps: + - label: ':macos: Build macos test fixture for Unity 2022' + timeout_in_minutes: 30 + key: build-macos-fixture-2022 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_macos_2022.zip + - features/fixtures/build_macos.log + commands: + - bundle install + - 'rake test:macos:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':windows: Build Windows test fixture for Unity 2022' + timeout_in_minutes: 30 + key: build-windows-fixture-2022 + depends_on: build-artifacts + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/build/Windows-2022.zip + - features/fixtures/build_windows.log + commands: + - features/scripts/import_package.sh --windows + - features/scripts/build_windows.sh release + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':android: Build Android test fixture for Unity 2022' + timeout_in_minutes: 30 + key: build-android-fixture-2022 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/mazerunner/mazerunner_2022.apk + - features/fixtures/import_package.log + - features/fixtures/build_android.log + commands: + - bundle install + - 'rake test:android:build' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Generate Xcode project - Unity 2022' + timeout_in_minutes: 30 + key: generate-fixture-project-2022 + depends_on: build-artifacts + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - upm-package.zip + upload: + - features/fixtures/generateXcodeProject.log + - project_2022.tgz + commands: + - bundle install + - 'rake test:ios:generate_xcode' + - tar -zvcf project_2022.tgz features/fixtures/mazerunner/mazerunner_xcode + retry: + automatic: + - exit_status: '*' + limit: 1 + + - label: ':ios: Build iOS test fixture for Unity 2022' + timeout_in_minutes: 30 + key: build-ios-fixture-2022 + depends_on: generate-fixture-project-2022 + env: + XCODE_VERSION: 15.3.0 + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - project_2022.tgz + upload: + - features/fixtures/mazerunner/mazerunner_2022.ipa + - features/fixtures/unity.log + commands: + - bundle install + - tar -zxf project_2022.tgz features/fixtures/mazerunner + - 'rake test:ios:build_xcode' + retry: + automatic: + - exit_status: '*' + limit: 1 + + - group: ":test_tube: E2E Tests Unity 2022" + steps: + - label: Run MacOS e2e tests for Unity 2022 + timeout_in_minutes: 60 + depends_on: build-macos-fixture-2022 + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_macos_2022.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-macos-ci-tests.sh release + + - label: Run Windows e2e tests for Unity 2022 + timeout_in_minutes: 60 + depends_on: build-windows-fixture-2022 + agents: + queue: windows-unity-wsl + env: + UNITY_PERFORMANCE_VERSION: *2022 + plugins: + 'artifacts#v1.5.0': + download: + - features/fixtures/mazerunner/build/Windows-2022.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + - 'clear_cache.log' + - maze_output/metrics.csv + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + commands: + - features/scripts/run-windows-ci-tests.sh release + + - label: ':bitbar: Run Android e2e tests for Unity 2022' + timeout_in_minutes: 60 + depends_on: build-android-fixture-2022 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2022.apk + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2022.apk' + - '--farm=bb' + - '--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13' + - '--appium-version=1.22' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager + + - label: ':bitbar: Run iOS e2e tests for Unity 2022' + timeout_in_minutes: 60 + depends_on: build-ios-fixture-2022 + agents: + queue: opensource + plugins: + 'artifacts#v1.9.0': + download: + - features/fixtures/mazerunner/mazerunner_2022.ipa + upload: + - maze_output/**/* + 'docker-compose#v4.8.0': + pull: maze-runner + run: maze-runner + service-ports: true + command: + - '--app=/app/features/fixtures/mazerunner/mazerunner_2022.ipa' + - '--farm=bb' + - '--device=IOS_15' + - '--no-tunnel' + - '--aws-public-ip' + - '--fail-fast' + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^main|next$$" + concurrency: 25 + concurrency_group: bitbar + concurrency_method: eager diff --git a/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/PValueUpdater.cs b/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/PValueUpdater.cs index a6e5b8e5..a299d0f4 100644 --- a/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/PValueUpdater.cs +++ b/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/PValueUpdater.cs @@ -10,14 +10,14 @@ internal class PValueUpdater : IPhasedStartup private PerformanceConfiguration _config; private Delivery _delivery; private Sampler _sampler; - private DateTime _pValueTimeout; + private DateTimeOffset _pValueTimeout; public bool IsConfigured { get; private set; } public PValueUpdater(Delivery delivery, Sampler sampler) { _delivery = delivery; _sampler = sampler; - _pValueTimeout = DateTime.Now; + _pValueTimeout = DateTimeOffset.UtcNow; } public void Configure(PerformanceConfiguration config) @@ -38,7 +38,7 @@ private IEnumerator CheckPValue() #endif while (true) { - if (DateTime.Now.CompareTo(_pValueTimeout) >= 0) + if (DateTimeOffset.UtcNow.CompareTo(_pValueTimeout) >= 0) { _delivery.DeliverPValueRequest(OnPValueRequestCompleted); } @@ -49,7 +49,7 @@ private IEnumerator CheckPValue() private void markPValueUpdated() { - _pValueTimeout = DateTime.Now.AddSeconds(_config.PValueTimeoutSeconds); + _pValueTimeout = DateTimeOffset.UtcNow.AddSeconds(_config.PValueTimeoutSeconds); } private void OnPValueRequestCompleted(TracePayload payload, UnityWebRequest req, double newProbability) diff --git a/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs b/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs index 9c173899..5f48902e 100644 --- a/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs +++ b/BugsnagPerformance/Assets/BugsnagPerformance/Scripts/Internal/Version.cs @@ -3,6 +3,6 @@ internal static class Version { //TODO set this using sed or something in the release automation task - public const string VersionString = "1.6.1"; + public const string VersionString = "1.6.2"; } } diff --git a/CHANGELOG.md b/CHANGELOG.md index c73c6707..e581c767 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## v1.6.2 (2024-10-30) + +### Bug Fixes + +- Fix an issue where DateTime.Now was used instead of DateTimeOffset.UtcNow during initialisation [#146](https://github.com/bugsnag/bugsnag-unity-performance/pull/146) + ## v1.6.1 (2024-10-09) ### Bug Fixes