From 1c0caa75d7577a39dd620c1fbd991bc936a838e1 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 12 Feb 2024 13:26:44 +0000 Subject: [PATCH 01/54] add cocoapods to gemfile --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index a37407478..1699210b8 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' gem 'rake' gem 'xcpretty' gem 'xcodeproj' +gem 'cocoapods' unless Gem.win_platform? # Use official Maze Runner release From af86ac65ffcfdd272644e41da1edb58626291f1f Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Wed, 14 Feb 2024 09:55:43 +0000 Subject: [PATCH 02/54] add rake to gemfile --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index 1699210b8..145d4fb6a 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,7 @@ gem 'rake' gem 'xcpretty' gem 'xcodeproj' gem 'cocoapods' +gem 'rake' unless Gem.win_platform? # Use official Maze Runner release From 5be2da75246fd314fd48c762536067bdd5d87ae7 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Wed, 14 Feb 2024 10:03:01 +0000 Subject: [PATCH 03/54] run bundle install where required --- .buildkite/pipeline.full.yml | 12 ++++++++++++ .buildkite/pipeline.yml | 3 +++ 2 files changed, 15 insertions(+) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 0635d10f7..ec063b92c 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -324,6 +324,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk - features/fixtures/build_android_apk.log commands: + - bundle install - rake test:android:build retry: automatic: @@ -344,6 +345,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk - features/fixtures/build_android_apk.log commands: + - bundle install - rake test:android:build retry: automatic: @@ -364,6 +366,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2021.3.27f1.apk - features/fixtures/build_android_apk.log commands: + - bundle install - rake test:android:build retry: automatic: @@ -384,6 +387,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2022.3.2f1.apk - features/fixtures/build_android_apk.log commands: + - bundle install - rake test:android:build retry: automatic: @@ -581,6 +585,7 @@ steps: - features/fixtures/unity.log - project_2018.tgz commands: + - bundle install - rake test:ios:generate_xcode - tar -zvcf project_2018.tgz features/fixtures/maze_runner/mazerunner_xcode retry: @@ -606,6 +611,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa - features/fixtures/unity.log commands: + - bundle install - tar -zxf project_2018.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: @@ -627,6 +633,7 @@ steps: - features/fixtures/unity.log - project_2019.tgz commands: + - bundle install - rake test:ios:generate_xcode - tar -zvcf project_2019.tgz features/fixtures/maze_runner/mazerunner_xcode retry: @@ -652,6 +659,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa - features/fixtures/unity.log commands: + - bundle install - tar -zxf project_2019.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: @@ -673,6 +681,7 @@ steps: - features/fixtures/unity.log - project_2021.tgz commands: + - bundle install - rake test:ios:generate_xcode - tar -zvcf project_2021.tgz features/fixtures/maze_runner/mazerunner_xcode retry: @@ -698,6 +707,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2021.3.27f1.ipa - features/fixtures/unity.log commands: + - bundle install - tar -zxf project_2021.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: @@ -719,6 +729,7 @@ steps: - features/fixtures/unity.log - project_2022.tgz commands: + - bundle install - rake test:ios:generate_xcode - tar -zvcf project_2022.tgz features/fixtures/maze_runner/mazerunner_xcode retry: @@ -744,6 +755,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2022.3.2f1.ipa - features/fixtures/unity.log commands: + - bundle install - tar -zxf project_2022.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 5862b84ee..4f47c17c3 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -70,6 +70,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk - features/fixtures/build_android_apk.log commands: + - bundle install - rake test:android:build retry: automatic: @@ -176,6 +177,7 @@ steps: - features/fixtures/unity.log - project_2020.tgz commands: + - bundle install - rake test:ios:generate_xcode - tar -zvcf project_2020.tgz features/fixtures/maze_runner/mazerunner_xcode retry: @@ -199,6 +201,7 @@ steps: - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa - features/fixtures/unity.log commands: + - bundle install - tar -zxf project_2020.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: From 92479a199c5c56021be22f5bc0c15446f7c6ff16 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Thu, 15 Feb 2024 09:08:14 +0000 Subject: [PATCH 04/54] [full ci] --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 145d4fb6a..ef58191c0 100644 --- a/Gemfile +++ b/Gemfile @@ -8,7 +8,7 @@ gem 'rake' unless Gem.win_platform? # Use official Maze Runner release - gem 'bugsnag-maze-runner', '~>8.0' + gem 'bugsnag-maze-runner', '~>9.0' # Use a specific Maze Runner branch # gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'master' From 8165e642c339bc222fd0253ae8e981ca03591697 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 29 Feb 2024 22:20:48 +0100 Subject: [PATCH 05/54] PLAT-11641 handle json serialisation errors and remove payloads (#773) --- CHANGELOG.md | 6 +++ features/csharp/csharp_persistence.feature | 12 ++++++ .../maze_runner/Assets/Scenes/MainScene.unity | 18 ++++++++- .../Csharp/Persistence/CorruptedCacheFile.cs | 27 +++++++++++++ .../Persistence/CorruptedCacheFile.cs.meta | 11 ++++++ src/BugsnagUnity/Delivery.cs | 38 +++++++++++++++++-- .../Native/Fallback/CacheManager.cs | 6 ++- 7 files changed, 112 insertions(+), 6 deletions(-) create mode 100644 features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs create mode 100644 features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index c36f4f4a8..c41d447fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## TBD () + +### Enhancements + +- Improved handling of serialisation errors when flushing the event cache [#773](https://github.com/bugsnag/bugsnag-unity/pull/773) + ## 7.7.1 (2024-01-25) ### Bug Fixes diff --git a/features/csharp/csharp_persistence.feature b/features/csharp/csharp_persistence.feature index 1fa062a33..c56f2e2ad 100644 --- a/features/csharp/csharp_persistence.feature +++ b/features/csharp/csharp_persistence.feature @@ -103,3 +103,15 @@ Feature: Unity Persistence And the exception "message" equals "PersistDeviceId" And the error payload field "events.0.device.id" equals the stored value "device_id" + Scenario: Handle Corrupt Json + And I run the game in the "CorruptedCacheFile" state + And I wait for requests to persist + And I close the Unity app + And On Mobile I relaunch the app + And I run the game in the "PersistEventReport" state + And I wait for requests to persist + And I wait to receive 1 errors + And the error is valid for the error reporting API sent by the Unity notifier + And the exception "message" equals "Error 2" + + diff --git a/features/fixtures/maze_runner/Assets/Scenes/MainScene.unity b/features/fixtures/maze_runner/Assets/Scenes/MainScene.unity index dcfa5b239..f024c13a2 100644 --- a/features/fixtures/maze_runner/Assets/Scenes/MainScene.unity +++ b/features/fixtures/maze_runner/Assets/Scenes/MainScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.3731192, g: 0.38073966, b: 0.35872677, a: 1} + m_IndirectSpecularColor: {r: 0.3731316, g: 0.38074902, b: 0.3587254, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -1537,6 +1537,7 @@ GameObject: - component: {fileID: 1523264808} - component: {fileID: 1523264809} - component: {fileID: 1523264810} + - component: {fileID: 1523264811} m_Layer: 0 m_Name: Persistence m_TagString: Untagged @@ -1678,6 +1679,21 @@ MonoBehaviour: CustomStacktrace: 'Main.CUSTOM1 () (at Assets/Scripts/Main.cs:123) Main.CUSTOM2 () (at Assets/Scripts/Main.cs:123)' +--- !u!114 &1523264811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523264801} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 395039af028ee4010baf61afa7f7e066, type: 3} + m_Name: + m_EditorClassIdentifier: + CustomStacktrace: 'Main.CUSTOM1 () (at Assets/Scripts/Main.cs:123) + + Main.CUSTOM2 () (at Assets/Scripts/Main.cs:123)' --- !u!1 &1746155638 GameObject: m_ObjectHideFlags: 0 diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs new file mode 100644 index 000000000..3f5df4a53 --- /dev/null +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs @@ -0,0 +1,27 @@ +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + +public class CorruptedCacheFile : Scenario +{ + + public override void PrepareConfig(string apiKey, string host) + { + base.PrepareConfig(apiKey, host); + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + Configuration.EnabledErrorTypes.OOMs = false; + } + } + + public override void Run() + { + var dirPath = Application.persistentDataPath + "/Bugsnag/Events"; + if (!Directory.Exists(dirPath)) + { + Directory.CreateDirectory(dirPath); + } + File.WriteAllText(dirPath + "/f04274f7-6f7d-448e-b62e-486cc019a708.event", "NOT JSON"); + } +} diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs.meta b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs.meta new file mode 100644 index 000000000..79565d892 --- /dev/null +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 395039af028ee4010baf61afa7f7e066 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/BugsnagUnity/Delivery.cs b/src/BugsnagUnity/Delivery.cs index 55815c3bd..2057f387f 100644 --- a/src/BugsnagUnity/Delivery.cs +++ b/src/BugsnagUnity/Delivery.cs @@ -524,21 +524,51 @@ private IEnumerator ProcessCachedItems(Type t) try { + // if something goes wrong at this stage then we silently discard the file as it's most likely that the file wasn't fully serialised to disk payloadDictionary = ((JsonObject)SimpleJson.DeserializeObject(payloadJson)).GetDictionary(); } - catch (Exception e) + catch { - Debug.LogException(new Exception("Bugsnag Error. Deserialising a cached payload for delivery failed: " + e.Message + " Cached json: " + payloadJson)); + if (isSession) + { + _cacheManager.RemoveCachedSession(id); + } + else + { + _cacheManager.RemoveCachedEvent(id); + } continue; } if (isSession) { - Deliver(new SessionReport(_configuration, payloadDictionary)); + SessionReport sessionReport = null; + try + { + sessionReport = new SessionReport(_configuration, payloadDictionary); + } + catch + { + // this will be internally reported in a future update + _cacheManager.RemoveCachedSession(id); + continue; + } + Deliver(sessionReport); } else { - Deliver(new Report(_configuration, payloadDictionary)); + Report report = null; + try + { + report = new Report(_configuration, payloadDictionary); + } + catch + { + // this will be internally reported in a future update + _cacheManager.RemoveCachedEvent(id); + continue; + } + Deliver(report); } yield return new WaitUntil(() => CachedPayloadProcessed(id)); diff --git a/src/BugsnagUnity/Native/Fallback/CacheManager.cs b/src/BugsnagUnity/Native/Fallback/CacheManager.cs index d04d7e00b..ee44eb663 100644 --- a/src/BugsnagUnity/Native/Fallback/CacheManager.cs +++ b/src/BugsnagUnity/Native/Fallback/CacheManager.cs @@ -188,9 +188,13 @@ private void DeleteFile(string path) private void WriteFile(string path, string data) { + // not using File.WriteAllText to avoid under the hood buffering. We want the file to be written immediately to avoid truncation in case of a crash try { - File.WriteAllText(path, data); + var file = File.Create(path); + file.Write(System.Text.Encoding.UTF8.GetBytes(data), 0, data.Length); + file.Flush(); + file.Close(); }catch { } } From bea3ae56c86927cc444e4079db9f390a8d926f64 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 29 Feb 2024 22:24:39 +0100 Subject: [PATCH 06/54] Release v7.7.2 --- CHANGELOG.md | 2 +- build.cake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c41d447fc..22035f613 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## TBD () +## 7.7.2 (2024-03-01) ### Enhancements diff --git a/build.cake b/build.cake index 72d1c6790..b640755ea 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.1"; +var version = "7.7.2"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); From 3551e2d471daaaf44c75c4907e2fa09883cba6a2 Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Fri, 1 Mar 2024 13:56:26 +0000 Subject: [PATCH 07/54] Grab test app logs after each scenario (#776) * Add support for retrieving and uploading device logs * Ensure logs work correctly * Use proper v8 release --- .../maze_runner/Assets/Scripts/Logger.cs | 2 +- features/support/env.rb | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/features/fixtures/maze_runner/Assets/Scripts/Logger.cs b/features/fixtures/maze_runner/Assets/Scripts/Logger.cs index 90706b13f..092763202 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Logger.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Logger.cs @@ -15,7 +15,7 @@ public class Logger : MonoBehaviour public static void I(string msg) { Debug.Log(LOG_PREFIX + msg); - _currentLog = msg + "\n"; + _currentLog += msg + "\n"; WriteLogFile(); } diff --git a/features/support/env.rb b/features/support/env.rb index 9e1ee373a..e299156de 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -119,6 +119,28 @@ end end +device_logs = [] +After do |scenario| + if Maze.driver && Maze.driver.is_a?(Maze::Driver::Appium) + log_file = Maze::Api::Appium::FileManager.new.read_app_file('mazerunner-unity.log') + device_logs << { + file: log_file, + scenario: scenario.name + } + end +end + +AfterAll do + maze_output = File.join(Dir.pwd, 'maze_output') + device_logs_folder = File.join(maze_output, 'device_logs') + FileUtils.makedirs(device_logs_folder) + device_logs.each do |log| + File.open(File.join(device_logs_folder, "#{log[:scenario]}.log"), 'w') do |f| + f.write(log[:file]) + end + end +end + AfterAll do case Maze::Helper.get_current_platform when 'macos' From c6e004600c2ef6a6f2a2dfaf08104d0de9452c2d Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Wed, 27 Mar 2024 09:05:58 +0000 Subject: [PATCH 08/54] update rakefile for ruby 3.3.0 --- Rakefile | 81 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/Rakefile b/Rakefile index 07a3aff40..26f49afaf 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,7 @@ require "open3" require "xcodeproj" require "rbconfig" +require 'fileutils' unless ENV['GITHUB_ACTIONS'].nil? require "bumpsnag" @@ -20,7 +21,7 @@ def unity_directory if ENV.has_key? 'UNITY_VERSION' if is_mac? - "/Applications/Unity/Hub/Editor/#{ENV['UNITY_VERSION']}" + "/Applications/Unity/Hub/Editor/#{ENV['UNITY_VERSION']}" elsif is_windows? "C:\\Program Files\\Unity\\Hub\\Editor\\#{ENV['UNITY_VERSION']}" end @@ -37,13 +38,13 @@ def unity_executable dir=unity_directory [File.join(dir, "Unity.app", "Contents", "MacOS", "Unity"), File.join(dir, "Editor", "Unity"), File.join(dir, "Editor", "Unity.exe")].find do |unity| - File.exists? unity + File.exist? unity end end def unity_dll_location [File.join(unity_directory, "Unity.app", "Contents", "Managed"), File.join(unity_directory, "Editor", "Data", "Managed")].find do |unity| - File.exists? unity + File.exist? unity end end @@ -55,7 +56,7 @@ def get_required_unity_paths dir = unity_directory exe = unity_executable(dir) raise "No unity executable found in '#{dir}'" if exe.nil? - unless File.exists? exe + unless File.exist? exe raise "Unity not found at path '#{exe}' - set $UNITY_DIR (full path) or $UNITY_VERSION (loaded via hub) to customize" end [dir, exe] @@ -79,7 +80,7 @@ def unity(*cmd, force_free: true, no_graphics: true) cmd = cmd.unshift(*cmd_prepend) sh *cmd do |ok, res| if !ok - puts File.read("unity.log") if File.exists?("unity.log") + puts File.read("unity.log") if File.exist?("unity.log") raise "unity error: #{res}" end @@ -100,7 +101,7 @@ end def export_package name="Bugsnag.unitypackage" package_output = File.join(current_directory, name) - rm_f package_output + FileUtils.rm_rf package_output unity "-projectPath", project_path, "-exportPackage", "Assets/Bugsnag", package_output, force_free: false end @@ -108,11 +109,11 @@ def assemble_android filter_abis=true abi_filters = filter_abis ? "-PABI_FILTERS=armeabi-v7a,x86" : "-Pnoop_filters=true" android_dir = File.join(assets_path, "Android") - cd "bugsnag-android" do + Dir.chdir"bugsnag-android" do sh "./gradlew", "assembleRelease", abi_filters end - cd "bugsnag-android-unity" do + Dir.chdir"bugsnag-android-unity" do sh "./gradlew", "assembleRelease", abi_filters end @@ -124,7 +125,7 @@ def assemble_android filter_abis=true # copy kotlin dependencies required by bugsnag-android. the exact files required for each # version can be found here: # https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.32/kotlin-stdlib-1.4.32.pom - # The exact version number here should match the version in the EDM manifest in the BugsnagEditor.cs script and in the upm-tools/EDM/BugsnagAndroidDependencies.xml file. + # The exact version number here should match the version in the EDM manifest in the BugsnagEditor.cs script and in the upm-tools/EDM/BugsnagAndroidDependencies.xml file. # All should be informed by what the android notifier is using kotlin_stdlib = File.join("android-libs", "org.jetbrains.kotlin.kotlin-stdlib-1.4.32.jar") kotlin_stdlib_common = File.join("android-libs", "org.jetbrains.kotlin.kotlin-stdlib-common-1.4.32.jar") @@ -133,14 +134,14 @@ def assemble_android filter_abis=true # copy unity lib unity_lib = File.join("bugsnag-android-unity", "build", "outputs", "aar", "bugsnag-android-unity-release.aar") - cp android_core_lib, File.join(android_dir, "bugsnag-android-release.aar") - cp ndk_lib, File.join(android_dir, "bugsnag-android-ndk-release.aar") - cp anr_lib, File.join(android_dir, "bugsnag-plugin-android-anr-release.aar") - cp unity_lib, File.join(android_dir, "bugsnag-android-unity-release.aar") - mkdir File.join(android_dir, "Kotlin") - cp kotlin_stdlib, File.join(android_dir, "Kotlin/kotlin-stdlib.jar") - cp kotlin_stdlib_common, File.join(android_dir, "Kotlin/kotlin-stdlib-common.jar") - cp kotlin_annotations, File.join(android_dir, "Kotlin/kotlin-annotations.jar") + FileUtils.cp android_core_lib, File.join(android_dir, "bugsnag-android-release.aar") + FileUtils.cp ndk_lib, File.join(android_dir, "bugsnag-android-ndk-release.aar") + FileUtils.cp anr_lib, File.join(android_dir, "bugsnag-plugin-android-anr-release.aar") + FileUtils.cp unity_lib, File.join(android_dir, "bugsnag-android-unity-release.aar") + FileUtils.mkdir File.join(android_dir, "Kotlin") + FileUtils.cp kotlin_stdlib, File.join(android_dir, "Kotlin/kotlin-stdlib.jar") + FileUtils.cp kotlin_stdlib_common, File.join(android_dir, "Kotlin/kotlin-stdlib-common.jar") + FileUtils.cp kotlin_annotations, File.join(android_dir, "Kotlin/kotlin-annotations.jar") end namespace :plugin do @@ -163,17 +164,17 @@ namespace :plugin do FileUtils.rm_rf cocoa_build_dir unless is_windows? # remove android build area - cd "bugsnag-android" do + Dir.chdir "./bugsnag-android" do sh "./gradlew", "clean" end - cd "bugsnag-android-unity" do + Dir.chdir "bugsnag-android-unity" do sh "./gradlew", "clean" end end end task :assets do - cp_r File.join(current_directory, "src", "Assets"), project_path, preserve: true + FileUtils.cp_r(File.join(current_directory, "src", "Assets"), project_path, preserve: true) end task :cocoa do next unless is_mac? @@ -183,7 +184,7 @@ namespace :plugin do bugsnag_unity_file = File.realpath("BugsnagUnity.m", "src") public_headers = Dir.entries(File.join(cocoa_build_dir, "Bugsnag", "include", "Bugsnag")) - cd cocoa_build_dir do + Dir.chdir cocoa_build_dir do ["bugsnag-ios", "bugsnag-osx", "bugsnag-tvos"].each do |project_name| project_file = File.join("#{project_name}.xcodeproj") next if File.exist?(project_file) @@ -219,9 +220,9 @@ namespace :plugin do group = project.new_group("Bugsnag") source_files = Dir.glob(File.join("Bugsnag", "**", "*.{c,h,mm,cpp,m}")) - .map(&File.method(:realpath)) - .tap { |files| files << bugsnag_unity_file } - .map { |f| group.new_file(f) } + .map(&File.method(:realpath)) + .tap { |files| files << bugsnag_unity_file } + .map { |f| group.new_file(f) } target.add_file_references(source_files) do |build_file| if public_headers.include? build_file.file_ref.name @@ -264,17 +265,17 @@ namespace :plugin do tvos_dir = File.join(assets_path, "tvOS") #copy framework usage api file - cp_r File.join("bugsnag-cocoa", "Bugsnag", "resources", "PrivacyInfo.xcprivacy"), ios_dir + FileUtils.cp_r(File.join(current_directory,"bugsnag-cocoa", "Bugsnag", "resources", "PrivacyInfo.xcprivacy"), ios_dir) - cd cocoa_build_dir do - cd "build" do + Dir.chdir cocoa_build_dir do + Dir.chdir "build" do def is_fat library_path stdout, stderr, status = Open3.capture3("lipo", "-info", library_path) return !stdout.start_with?('Non-fat') end # we just need to copy the os x bundle into the correct directory - cp_r File.join(build_type, "bugsnag-osx.bundle"), osx_dir + FileUtils.cp_r(File.join(build_type, "bugsnag-osx.bundle"), osx_dir) # for ios and tvos we need to build a fat binary that includes architecture # slices for both the device and the simulator @@ -291,9 +292,9 @@ namespace :plugin do else simulator_x64 = simulator_library end - + sh "lipo", "-create", device_library, simulator_x64, "-output", output_library - + end end end @@ -320,14 +321,14 @@ namespace :plugin do end end - cd File.join("src", "BugsnagUnity", "bin", "Release", "net35") do - cp File.realpath("BugsnagUnity.dll"), assets_path - windows_dir = File.join(assets_path, "Windows") - cp File.realpath("BugsnagUnity.Windows.dll"), windows_dir - cp File.realpath("BugsnagUnity.iOS.dll"), File.join(assets_path, "tvOS") - cp File.realpath("BugsnagUnity.iOS.dll"), File.join(assets_path, "iOS") - cp File.realpath("BugsnagUnity.MacOS.dll"), File.join(assets_path, "OSX") - cp File.realpath("BugsnagUnity.Android.dll"), File.join(assets_path, "Android") + Dir.chdir File.join("src", "BugsnagUnity", "bin", "Release", "net35") do + FileUtils.cp File.realpath("BugsnagUnity.dll"), assets_path + windows_dir = File.join(assets_path, "Windows") + FileUtils.cp File.realpath("BugsnagUnity.Windows.dll"), windows_dir + FileUtils.cp File.realpath("BugsnagUnity.iOS.dll"), File.join(assets_path, "tvOS") + FileUtils.cp File.realpath("BugsnagUnity.iOS.dll"), File.join(assets_path, "iOS") + FileUtils.cp File.realpath("BugsnagUnity.MacOS.dll"), File.join(assets_path, "OSX") + FileUtils.cp File.realpath("BugsnagUnity.Android.dll"), File.join(assets_path, "Android") end end @@ -431,7 +432,7 @@ namespace :test do end # Generate the Xcode project - cd "features" do + Dir.chdir"features" do script = File.join("scripts", "generate_xcode_project.sh") unless system env, script raise 'IPA build failed' @@ -441,7 +442,7 @@ namespace :test do task :build_xcode do # Build and archive from the Xcode project - cd "features" do + Dir.chdir"features" do script = File.join("scripts", "build_ios.sh") unless system script raise 'IPA build failed' From 13cc1f6005d85558d461cdf2d21a1ec453dcaf1c Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Wed, 27 Mar 2024 09:21:10 +0000 Subject: [PATCH 09/54] update windows unity versions --- .buildkite/pipeline.full.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index ec063b92c..b13211c90 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -960,7 +960,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -969,7 +969,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2021.3.27f1.zip + - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip retry: automatic: - exit_status: "*" @@ -982,7 +982,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -991,7 +991,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2022.3.2f1.zip + - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip retry: automatic: - exit_status: "*" @@ -1058,11 +1058,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2021.3.27f1.zip + - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1075,11 +1075,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2022.3.2f1.zip + - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip upload: - maze_output/**/* - maze_output/metrics.csv From a353d8ee404e7abb0695906c3264d6b00272047c Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 10:59:17 +0100 Subject: [PATCH 10/54] move basic pipeline to macos14 --- .buildkite/pipeline.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4f47c17c3..c7df9b25a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,5 +1,8 @@ agents: - queue: macos-12-arm-unity + queue: macos-14 + +env: + XCODE_VERSION: "15.2" steps: # @@ -9,7 +12,6 @@ steps: timeout_in_minutes: 30 key: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: "2018.4.36f1" commands: - bundle install @@ -45,7 +47,6 @@ steps: depends_on: build-artifacts env: UNITY_VERSION: "2020.3.48f1" - DEVELOPER_DIR: "/Applications/Xcode14.0.app" plugins: 'artifacts#v1.9.0': download: @@ -190,7 +191,6 @@ steps: key: "build-ios-fixture-2020" depends_on: "generate-fixture-project-2020" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: "2020.3.48f1" plugins: artifacts#v1.5.0: From bc265ec27ebf6057e41c441c6ce65af00b106e77 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 11:01:05 +0100 Subject: [PATCH 11/54] move basic pipeline to macos14 --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index c7df9b25a..f6230a953 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -2,7 +2,7 @@ agents: queue: macos-14 env: - XCODE_VERSION: "15.2" + XCODE_VERSION: "15.3.0" steps: # From 0cab1e5b37b72a0290bf7ef6320809cebd8e3c9d Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 11:16:21 +0100 Subject: [PATCH 12/54] move basic pipeline to macos14 --- .buildkite/pipeline.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f6230a953..786b29052 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -51,8 +51,6 @@ steps: 'artifacts#v1.9.0': download: - Bugsnag.unitypackage - agents: - queue: macos-12-arm commands: features/scripts/do_size_test.sh From b171db8bf1d853595514102716ebb2404294f30d Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 12:27:03 +0100 Subject: [PATCH 13/54] move basic pipeline to macos14 --- .buildkite/pipeline.full.yml | 78 ++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index b13211c90..aa5b7e9c2 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -86,7 +86,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: @@ -95,8 +95,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2021.3.27f1.zip - - features/fixtures/maze_runner/build/WebGL-2021.3.27f1.zip + - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip + - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip retry: automatic: - exit_status: "*" @@ -108,7 +108,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: @@ -117,8 +117,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2022.3.2f1.zip - - features/fixtures/maze_runner/build/WebGL-2022.3.2f1.zip + - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip + - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip retry: automatic: - exit_status: "*" @@ -188,11 +188,11 @@ steps: # agents: # queue: macos-12-arm-unity # env: - # UNITY_VERSION: "2021.3.27f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/MacOS-2021.3.27f1.zip + # - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip # upload: # - maze_output/**/* # - Mazerunner.log @@ -205,11 +205,11 @@ steps: agents: queue: macos-12-arm-unity env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2022.3.2f1.zip + - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -281,11 +281,11 @@ steps: # timeout_in_minutes: 30 # depends_on: 'cocoa-webgl-2021-fixtures' # env: - # UNITY_VERSION: "2021.3.27f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/WebGL-2021.3.27f1.zip + # - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip # upload: # - maze_output/**/* # # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -296,11 +296,11 @@ steps: timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2022-fixtures' env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2022.3.2f1.zip + - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip upload: - maze_output/**/* # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -357,13 +357,13 @@ steps: key: "build-android-fixture-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.3.27f1.apk + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -378,13 +378,13 @@ steps: key: "build-android-fixture-2022" depends_on: "build-artifacts" env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2022.3.2f1.apk + - features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -399,13 +399,13 @@ steps: # key: 'build-edm-fixture-2021' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: "2021.3.27f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2021.3.27f1.apk + # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -487,11 +487,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.27f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -502,7 +502,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.27f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -518,11 +518,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.2f1.apk" + - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -533,7 +533,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.2f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -549,18 +549,18 @@ steps: # agents: # queue: opensource # env: - # UNITY_VERSION: "2021.3.27f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2021.3.27f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.27f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -672,7 +672,7 @@ steps: key: "generate-fixture-project-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: @@ -697,14 +697,14 @@ steps: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2021.3.27f1" + UNITY_VERSION: "2021.3.36f1" plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.3.27f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -720,7 +720,7 @@ steps: key: "generate-fixture-project-2022" depends_on: "build-artifacts" env: - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: @@ -745,14 +745,14 @@ steps: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2022.3.2f1" + UNITY_VERSION: "2022.3.22f1" plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2022.tgz upload: - - features/fixtures/maze_runner/mazerunner_2022.3.2f1.ipa + - features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -834,7 +834,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.27f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -845,7 +845,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.27f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -863,7 +863,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.2f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -874,7 +874,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.2f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" From 78f9ce2e6111ed41c974b4c580099ae21beafec4 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 13:51:31 +0100 Subject: [PATCH 14/54] move basic pipeline to macos14 --- .buildkite/pipeline.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 786b29052..5059f7330 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,9 +1,6 @@ agents: queue: macos-14 -env: - XCODE_VERSION: "15.3.0" - steps: # # Build notifier. We run tests for all Unity versions with the 2018 artifacts, as that is what we ship. From 8afa9c2392e8575c4f90faf95ce79c2042c1254e Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 2 Apr 2024 14:44:26 +0100 Subject: [PATCH 15/54] move basic pipeline to macos14 --- .buildkite/pipeline.full.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index aa5b7e9c2..21c45ba5f 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -646,9 +646,8 @@ steps: key: "build-ios-fixture-2019" depends_on: "generate-fixture-project-2019" agents: - queue: macos-12-arm-unity + queue: macos-14 env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: "2019.4.35f1" plugins: artifacts#v1.5.0: From 25483c82ecd0a96b63db10587d46bfd8daa583b2 Mon Sep 17 00:00:00 2001 From: Christian Rafferty <38156512+clr182@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:52:16 +0100 Subject: [PATCH 16/54] Plat 11883 update bugsnag editor edm (#780) * update changelog * Update BugsnagEditor.EDM.cs (#778) UnityEditor.Menu.SetChecked(EDM_MENU_ITEM, IsEDMEnabled()); instead of Menu.SetChecked(EDM_MENU_ITEM, IsEDMEnabled()); removes problems with others libs * Update CHANGELOG.md Added PR link to changelogs --------- Co-authored-by: Xavier Arpa --- CHANGELOG.md | 4 ++++ src/Assets/Bugsnag/Editor/BugsnagEditor.EDM.cs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22035f613..bc8865faa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## TBD + +- Updated naming for BugsnagEditor EDM menu [#780](https://github.com/bugsnag/bugsnag-unity/pull/780) + ## 7.7.2 (2024-03-01) ### Enhancements diff --git a/src/Assets/Bugsnag/Editor/BugsnagEditor.EDM.cs b/src/Assets/Bugsnag/Editor/BugsnagEditor.EDM.cs index ca940d09f..5e8c9d05a 100644 --- a/src/Assets/Bugsnag/Editor/BugsnagEditor.EDM.cs +++ b/src/Assets/Bugsnag/Editor/BugsnagEditor.EDM.cs @@ -36,7 +36,7 @@ private static void ToggleEDM() [MenuItem(EDM_MENU_ITEM, true)] private static bool ToggleEDMValidate() { - Menu.SetChecked(EDM_MENU_ITEM, IsEDMEnabled()); + UnityEditor.Menu.SetChecked(EDM_MENU_ITEM, IsEDMEnabled()); return true; } From 8685cda2d6031f27881482ec0832be2b3c29a580 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 4 Apr 2024 14:40:13 +0100 Subject: [PATCH 17/54] Upgrade to Maze Runner v9 [full ci] --- Gemfile.lock | 20 ++++++++++---------- docker-compose.yml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e7f064463..20e1113fa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,9 +11,9 @@ GEM faye-websocket (~> 0.11.0) selenium-webdriver (~> 4.2, < 4.6) atomos (0.1.3) - bugsnag (6.26.0) + bugsnag (6.26.4) concurrent-ruby (~> 1.0) - bugsnag-maze-runner (8.13.1) + bugsnag-maze-runner (9.6.0) appium_lib (~> 12.0.0) appium_lib_core (~> 5.4.0) bugsnag (~> 6.24) @@ -34,7 +34,7 @@ GEM childprocess (4.1.0) claide (1.1.0) colored2 (3.1.2) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) cucumber (7.1.0) builder (~> 3.2, >= 3.2.4) cucumber-core (~> 10.1, >= 10.1.0) @@ -67,7 +67,7 @@ GEM cucumber-core (~> 10.1, >= 10.1.0) cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) curb (0.9.11) - diff-lcs (1.5.0) + diff-lcs (1.5.1) dogstatsd-ruby (5.5.0) ecma-re-validator (0.4.0) regexp_parser (~> 2.2) @@ -83,20 +83,20 @@ GEM regexp_parser (~> 2.0) simpleidn (~> 0.2) uri_template (~> 0.7) - mime-types (3.5.1) + mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2023.1003) + mime-types-data (3.2024.0305) multi_test (0.1.2) nanaimo (0.3.0) - nokogiri (1.15.5-x86_64-darwin) + nokogiri (1.16.3-x86_64-darwin) racc (~> 1.4) optimist (3.0.1) os (1.0.1) power_assert (2.0.3) racc (1.7.3) - rack (2.2.8) + rack (2.2.9) rake (12.3.3) - regexp_parser (2.8.2) + regexp_parser (2.9.0) rexml (3.2.6) rouge (2.0.7) rubyzip (2.3.2) @@ -136,7 +136,7 @@ PLATFORMS x86_64-darwin-20 DEPENDENCIES - bugsnag-maze-runner (~> 8.0) + bugsnag-maze-runner (~> 9.0) rake xcodeproj xcpretty diff --git a/docker-compose.yml b/docker-compose.yml index 4aeb38454..82fb4acf5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ x-common-environment: &common-environment services: maze-runner: - image: 855461928732.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v8-cli + image: 855461928732.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli environment: DEBUG: BUILDKITE: @@ -36,7 +36,7 @@ services: - ./maze_output:/app/maze_output maze-runner-bitbar: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v8-cli + image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli environment: <<: *common-environment BITBAR_USERNAME: From 0352a998bf9ac8a57f0c7ba29fab328e5e80dad2 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 4 Apr 2024 18:16:36 +0100 Subject: [PATCH 18/54] Use Appium 1 --- .buildkite/pipeline.full.yml | 24 ++++++++++++++++-------- .buildkite/pipeline.yml | 6 ++++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index b13211c90..fa2c89b7e 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -442,7 +442,8 @@ steps: - "features/android" - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - "--farm=bb" - - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -473,7 +474,8 @@ steps: - "features/android" - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - "--farm=bb" - - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -504,7 +506,8 @@ steps: - "features/android" - "--app=features/fixtures/maze_runner/mazerunner_2021.3.27f1.apk" - "--farm=bb" - - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -535,7 +538,8 @@ steps: - "features/android" - "--app=features/fixtures/maze_runner/mazerunner_2022.3.2f1.apk" - "--farm=bb" - - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -789,7 +793,8 @@ steps: - "features/ios" - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" - "--farm=bb" - - "--device=IOS_12|IOS_13|IOS_14|IOS_15" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -818,7 +823,8 @@ steps: - "features/ios" - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" - "--farm=bb" - - "--device=IOS_12|IOS_13|IOS_14|IOS_15" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -847,7 +853,8 @@ steps: - "features/ios" - "--app=features/fixtures/maze_runner/mazerunner_2021.3.27f1.ipa" - "--farm=bb" - - "--device=IOS_12|IOS_13|IOS_14|IOS_15" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -876,7 +883,8 @@ steps: - "features/ios" - "--app=features/fixtures/maze_runner/mazerunner_2022.3.2f1.ipa" - "--farm=bb" - - "--device=IOS_12|IOS_13|IOS_14|IOS_15" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4f47c17c3..3509fe977 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -125,7 +125,8 @@ steps: - "features/android" - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" - "--farm=bb" - - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" @@ -234,7 +235,8 @@ steps: - "features/ios" - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" - "--farm=bb" - - "--device=IOS_12|IOS_13|IOS_14|IOS_15" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" From 605d6cf91941c54f5373eaa5c0eef1a0de76ea8e Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 5 Apr 2024 09:58:55 +0100 Subject: [PATCH 19/54] use aliases in pipeline files --- .buildkite/pipeline.full.yml | 209 ++++++++++++++++++----------------- .buildkite/pipeline.yml | 38 ++++--- 2 files changed, 129 insertions(+), 118 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 21c45ba5f..d525eb7d3 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -1,3 +1,10 @@ +aliases: + - &2018 "2018.4.36f1" + - &2019 "2019.4.35f1" + - &2020 "2020.3.48f1" + - &2021 "2021.3.36f1" + - &2022 "2022.3.22f1" + agents: queue: macos-12-arm-unity @@ -14,7 +21,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: @@ -25,8 +32,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip + - features/fixtures/maze_runner/build/MacOS-2018.zip + - features/fixtures/maze_runner/build/WebGL-2018.zip retry: automatic: - exit_status: "*" @@ -38,7 +45,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: @@ -49,8 +56,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip + - features/fixtures/maze_runner/build/MacOS-2019.zip + - features/fixtures/maze_runner/build/WebGL-2019.zip retry: automatic: - exit_status: "*" @@ -62,7 +69,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: @@ -73,8 +80,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip - - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip + - features/fixtures/maze_runner/build/MacOS-2020.zip + - features/fixtures/maze_runner/build/WebGL-2020.zip retry: automatic: - exit_status: "*" @@ -86,7 +93,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: @@ -95,8 +102,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip - - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip + - features/fixtures/maze_runner/build/MacOS-2021.zip + - features/fixtures/maze_runner/build/WebGL-2021.zip retry: automatic: - exit_status: "*" @@ -108,7 +115,7 @@ steps: depends_on: "build-artifacts" env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: @@ -117,8 +124,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip - - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip + - features/fixtures/maze_runner/build/MacOS-2021.zip + - features/fixtures/maze_runner/build/WebGL-2021.zip retry: automatic: - exit_status: "*" @@ -133,11 +140,11 @@ steps: agents: queue: macos-12-arm-unity env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip + - features/fixtures/maze_runner/build/MacOS-2018.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -151,11 +158,11 @@ steps: agents: queue: macos-12-arm-unity env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip + - features/fixtures/maze_runner/build/MacOS-2019.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -169,11 +176,11 @@ steps: agents: queue: macos-12-arm-unity env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip + - features/fixtures/maze_runner/build/MacOS-2020.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -188,11 +195,11 @@ steps: # agents: # queue: macos-12-arm-unity # env: - # UNITY_VERSION: "2021.3.36f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip + # - features/fixtures/maze_runner/build/MacOS-2021.zip # upload: # - maze_output/**/* # - Mazerunner.log @@ -205,11 +212,11 @@ steps: agents: queue: macos-12-arm-unity env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip + - features/fixtures/maze_runner/build/MacOS-2021.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -227,11 +234,11 @@ steps: agents: queue: opensource-mac-cocoa-11 env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip + - features/fixtures/maze_runner/build/WebGL-2018.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -245,11 +252,11 @@ steps: agents: queue: opensource-mac-cocoa-11 env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip + - features/fixtures/maze_runner/build/WebGL-2019.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -263,11 +270,11 @@ steps: agents: queue: opensource-mac-cocoa-11 env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip + - features/fixtures/maze_runner/build/WebGL-2020.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -281,11 +288,11 @@ steps: # timeout_in_minutes: 30 # depends_on: 'cocoa-webgl-2021-fixtures' # env: - # UNITY_VERSION: "2021.3.36f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip + # - features/fixtures/maze_runner/build/WebGL-2021.zip # upload: # - maze_output/**/* # # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -296,11 +303,11 @@ steps: timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2022-fixtures' env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip + - features/fixtures/maze_runner/build/WebGL-2021.zip upload: - maze_output/**/* # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -315,13 +322,13 @@ steps: key: "build-android-fixture-2018" depends_on: "build-artifacts" env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk + - features/fixtures/maze_runner/mazerunner_2018.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -336,13 +343,13 @@ steps: key: "build-android-fixture-2019" depends_on: "build-artifacts" env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk + - features/fixtures/maze_runner/mazerunner_2019.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -357,13 +364,13 @@ steps: key: "build-android-fixture-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk + - features/fixtures/maze_runner/mazerunner_2021.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -378,13 +385,13 @@ steps: key: "build-android-fixture-2022" depends_on: "build-artifacts" env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk + - features/fixtures/maze_runner/mazerunner_2021.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -399,13 +406,13 @@ steps: # key: 'build-edm-fixture-2021' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: "2021.3.36f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk + # - features/fixtures/EDM_Fixture/edm_2021.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -425,11 +432,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" + - "features/fixtures/maze_runner/mazerunner_2018.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -440,7 +447,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2018.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -456,11 +463,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" + - "features/fixtures/maze_runner/mazerunner_2019.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -471,7 +478,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2019.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -487,11 +494,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -502,7 +509,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -518,11 +525,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -533,7 +540,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -549,18 +556,18 @@ steps: # agents: # queue: opensource # env: - # UNITY_VERSION: "2021.3.36f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2021.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -576,7 +583,7 @@ steps: key: "generate-fixture-project-2018" depends_on: "build-artifacts" env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: @@ -601,14 +608,14 @@ steps: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2018.tgz upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa + - features/fixtures/maze_runner/mazerunner_2018.ipa - features/fixtures/unity.log commands: - bundle install @@ -624,7 +631,7 @@ steps: key: "generate-fixture-project-2019" depends_on: "build-artifacts" env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: @@ -648,14 +655,14 @@ steps: agents: queue: macos-14 env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2019.tgz upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa + - features/fixtures/maze_runner/mazerunner_2019.ipa - features/fixtures/unity.log commands: - bundle install @@ -671,7 +678,7 @@ steps: key: "generate-fixture-project-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: @@ -696,14 +703,14 @@ steps: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.ipa - features/fixtures/unity.log commands: - bundle install @@ -719,7 +726,7 @@ steps: key: "generate-fixture-project-2022" depends_on: "build-artifacts" env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: @@ -744,14 +751,14 @@ steps: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2022.tgz upload: - - features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.ipa - features/fixtures/unity.log commands: - bundle install @@ -771,11 +778,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2018.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -786,7 +793,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2018.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -804,7 +811,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2019.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -815,7 +822,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2019.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -833,7 +840,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -844,7 +851,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -862,7 +869,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -873,7 +880,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -893,7 +900,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 command: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -902,7 +909,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip + - features/fixtures/maze_runner/build/Windows-2018.zip retry: automatic: - exit_status: "*" @@ -915,7 +922,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 command: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -924,7 +931,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip + - features/fixtures/maze_runner/build/Windows-2019.zip retry: automatic: - exit_status: "*" @@ -937,14 +944,14 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip + - features/fixtures/maze_runner/build/Windows-2020.zip commands: - scripts/ci-build-windows-fixture-wsl.sh retry: @@ -959,7 +966,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -968,7 +975,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip retry: automatic: - exit_status: "*" @@ -981,7 +988,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -990,7 +997,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip retry: automatic: - exit_status: "*" @@ -1005,11 +1012,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip + - features/fixtures/maze_runner/build/Windows-2018.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1022,11 +1029,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2019.4.35f1" + UNITY_VERSION: *2019 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip + - features/fixtures/maze_runner/build/Windows-2019.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1039,11 +1046,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip + - features/fixtures/maze_runner/build/Windows-2020.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1057,11 +1064,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2021.3.36f1" + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1074,11 +1081,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2022.3.22f1" + UNITY_VERSION: *2022 plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip upload: - maze_output/**/* - maze_output/metrics.csv diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 5059f7330..0869d5062 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,3 +1,7 @@ +aliases: + - &2018 "2018.4.36f1" + - &2020 "2020.3.48f1" + agents: queue: macos-14 @@ -9,7 +13,7 @@ steps: timeout_in_minutes: 30 key: "build-artifacts" env: - UNITY_VERSION: "2018.4.36f1" + UNITY_VERSION: *2018 commands: - bundle install - bundle exec rake plugin:export @@ -43,7 +47,7 @@ steps: timeout_in_minutes: 10 depends_on: build-artifacts env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: 'artifacts#v1.9.0': download: @@ -57,13 +61,13 @@ steps: key: "build-android-fixture-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk + - features/fixtures/maze_runner/mazerunner_2020.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -78,13 +82,13 @@ steps: # key: 'build-edm-fixture-2020' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: *2020 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk + # - features/fixtures/EDM_Fixture/edm_2020.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -104,11 +108,11 @@ steps: agents: queue: opensource env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "features/fixtures/maze_runner/mazerunner_2020.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -119,7 +123,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2020.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -137,18 +141,18 @@ steps: # agents: # queue: opensource # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: *2020 # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2020.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -164,7 +168,7 @@ steps: key: "generate-fixture-project-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: @@ -186,14 +190,14 @@ steps: key: "build-ios-fixture-2020" depends_on: "generate-fixture-project-2020" env: - UNITY_VERSION: "2020.3.48f1" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - project_2020.tgz upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa + - features/fixtures/maze_runner/mazerunner_2020.ipa - features/fixtures/unity.log commands: - bundle install @@ -215,7 +219,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2020.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -227,7 +231,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" From 2e2fa40173107122592f50e924b3ff61cc2ae5b9 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 5 Apr 2024 09:58:57 +0100 Subject: [PATCH 20/54] [full ci] From c183950e8afdbdac6c3fc6e6a4b5c8440544ac32 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 5 Apr 2024 10:20:48 +0100 Subject: [PATCH 21/54] [full ci] --- features/scripts/build_android.sh | 2 +- features/scripts/build_edm.sh | 2 +- features/scripts/build_ios.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/scripts/build_android.sh b/features/scripts/build_android.sh index 19042e9ba..34f5c2d8d 100755 --- a/features/scripts/build_android.sh +++ b/features/scripts/build_android.sh @@ -25,4 +25,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -projectPath $project_path -executeMethod Bu RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi -mv $project_path/mazerunner.apk $project_path/mazerunner_$UNITY_VERSION.apk +mv $project_path/mazerunner.apk $project_path/mazerunner_${UNITY_VERSION:0:4}.apk diff --git a/features/scripts/build_edm.sh b/features/scripts/build_edm.sh index 31bff0b80..a80241c92 100755 --- a/features/scripts/build_edm.sh +++ b/features/scripts/build_edm.sh @@ -41,4 +41,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -buildTarget Android -logFile $script_path/b RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi - mv $project_path/edm.apk $project_path/edm_$UNITY_VERSION.apk + mv $project_path/edm.apk $project_path/edm_${UNITY_VERSION:0:4}.apk diff --git a/features/scripts/build_ios.sh b/features/scripts/build_ios.sh index fc8a7076c..3a7ae3c85 100755 --- a/features/scripts/build_ios.sh +++ b/features/scripts/build_ios.sh @@ -38,4 +38,4 @@ if [ $? -ne 0 ]; then fi # Move to known location for running (note - the name of the .ipa differs between Xcode versions) -find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_$UNITY_VERSION.ipa \; +find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_${UNITY_VERSION:0:4}.ipa \; From 130480e151fa01162616e812475ed0412687112e Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 5 Apr 2024 10:47:37 +0100 Subject: [PATCH 22/54] [full ci] --- scripts/ci-build-macos-packages.sh | 4 ++-- scripts/ci-run-macos-tests-csharp.sh | 2 +- scripts/ci-run-macos-tests.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ci-build-macos-packages.sh b/scripts/ci-build-macos-packages.sh index b047d8a30..9faa5dab0 100755 --- a/scripts/ci-build-macos-packages.sh +++ b/scripts/ci-build-macos-packages.sh @@ -5,6 +5,6 @@ ./features/scripts/build_maze_runner.sh webgl pushd features/fixtures/maze_runner/build - zip -r MacOS-$UNITY_VERSION.zip MacOS - zip -r WebGL-$UNITY_VERSION.zip WebGL + zip -r MacOS-${UNITY_VERSION:0:4}.zip MacOS + zip -r WebGL-${UNITY_VERSION:0:4}.zip WebGL popd diff --git a/scripts/ci-run-macos-tests-csharp.sh b/scripts/ci-run-macos-tests-csharp.sh index e59214ab6..3a77cf93e 100644 --- a/scripts/ci-run-macos-tests-csharp.sh +++ b/scripts/ci-run-macos-tests-csharp.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-$UNITY_VERSION.zip + unzip MacOS-${UNITY_VERSION:0:4}.zip popd bundle install diff --git a/scripts/ci-run-macos-tests.sh b/scripts/ci-run-macos-tests.sh index e8a9465f4..74e775c2e 100644 --- a/scripts/ci-run-macos-tests.sh +++ b/scripts/ci-run-macos-tests.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-$UNITY_VERSION.zip + unzip MacOS-${UNITY_VERSION:0:4}.zip popd bundle install From efc195767e71ff8e54cdef08abff0a41804f4fbe Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 5 Apr 2024 13:37:21 +0100 Subject: [PATCH 23/54] update build scripts --- .buildkite/pipeline.full.yml | 114 +++++++++++++-------------- .buildkite/pipeline.yml | 22 +++--- features/scripts/build_android.sh | 2 +- features/scripts/build_edm.sh | 2 +- features/scripts/build_ios.sh | 2 +- scripts/ci-build-macos-packages.sh | 4 +- scripts/ci-run-macos-tests-csharp.sh | 2 +- scripts/ci-run-macos-tests.sh | 2 +- 8 files changed, 75 insertions(+), 75 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index d525eb7d3..c2622779f 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -32,8 +32,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2018.zip - - features/fixtures/maze_runner/build/WebGL-2018.zip + - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip + - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip retry: automatic: - exit_status: "*" @@ -56,8 +56,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2019.zip - - features/fixtures/maze_runner/build/WebGL-2019.zip + - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip + - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip retry: automatic: - exit_status: "*" @@ -80,8 +80,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2020.zip - - features/fixtures/maze_runner/build/WebGL-2020.zip + - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip + - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip retry: automatic: - exit_status: "*" @@ -102,8 +102,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2021.zip - - features/fixtures/maze_runner/build/WebGL-2021.zip + - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip + - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip retry: automatic: - exit_status: "*" @@ -124,8 +124,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2021.zip - - features/fixtures/maze_runner/build/WebGL-2021.zip + - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip + - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip retry: automatic: - exit_status: "*" @@ -144,7 +144,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2018.zip + - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -162,7 +162,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2019.zip + - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -180,7 +180,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2020.zip + - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -199,7 +199,7 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/MacOS-2021.zip + # - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip # upload: # - maze_output/**/* # - Mazerunner.log @@ -216,7 +216,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2021.zip + - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -238,7 +238,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2018.zip + - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -256,7 +256,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2019.zip + - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -274,7 +274,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2020.zip + - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -292,7 +292,7 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/WebGL-2021.zip + # - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip # upload: # - maze_output/**/* # # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -307,7 +307,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2021.zip + - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip upload: - maze_output/**/* # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -328,7 +328,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2018.apk + - features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -349,7 +349,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2019.apk + - features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -370,7 +370,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.apk + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -391,7 +391,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.apk + - features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -412,7 +412,7 @@ steps: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2021.apk + # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -436,7 +436,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2018.apk" + - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -447,7 +447,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2018.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -467,7 +467,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2019.apk" + - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -478,7 +478,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2019.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -498,7 +498,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.apk" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -509,7 +509,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -529,7 +529,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.apk" + - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -540,7 +540,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -560,14 +560,14 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2021.apk" + # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -615,7 +615,7 @@ steps: - Bugsnag.unitypackage - project_2018.tgz upload: - - features/fixtures/maze_runner/mazerunner_2018.ipa + - features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -662,7 +662,7 @@ steps: - Bugsnag.unitypackage - project_2019.tgz upload: - - features/fixtures/maze_runner/mazerunner_2019.ipa + - features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -710,7 +710,7 @@ steps: - Bugsnag.unitypackage - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.ipa + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -758,7 +758,7 @@ steps: - Bugsnag.unitypackage - project_2022.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.ipa + - features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -782,7 +782,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2018.ipa" + - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -793,7 +793,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2018.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -811,7 +811,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2019.ipa" + - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -822,7 +822,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2019.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -840,7 +840,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -851,7 +851,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -869,7 +869,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.ipa" + - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -880,7 +880,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" @@ -909,7 +909,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2018.zip + - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip retry: automatic: - exit_status: "*" @@ -931,7 +931,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2019.zip + - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip retry: automatic: - exit_status: "*" @@ -951,7 +951,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2020.zip + - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip commands: - scripts/ci-build-windows-fixture-wsl.sh retry: @@ -975,7 +975,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2021.zip + - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip retry: automatic: - exit_status: "*" @@ -997,7 +997,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2021.zip + - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip retry: automatic: - exit_status: "*" @@ -1016,7 +1016,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2018.zip + - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1033,7 +1033,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2019.zip + - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1050,7 +1050,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2020.zip + - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1068,7 +1068,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2021.zip + - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -1085,7 +1085,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2021.zip + - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip upload: - maze_output/**/* - maze_output/metrics.csv diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 0869d5062..5fa0dc114 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -67,7 +67,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2020.apk + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -82,13 +82,13 @@ steps: # key: 'build-edm-fixture-2020' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: *2020 + # UNITY_VERSION: "2020.3.48f1" # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2020.apk + # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -112,7 +112,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.apk" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -123,7 +123,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2020.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" - "--farm=bb" - "--device=ANDROID_9|ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - "--no-tunnel" @@ -141,18 +141,18 @@ steps: # agents: # queue: opensource # env: - # UNITY_VERSION: *2020 + # UNITY_VERSION: "2020.3.48f1" # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2020.apk" + # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -197,7 +197,7 @@ steps: - Bugsnag.unitypackage - project_2020.tgz upload: - - features/fixtures/maze_runner/mazerunner_2020.ipa + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -219,7 +219,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.ipa" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -231,7 +231,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" - "--farm=bb" - "--device=IOS_12|IOS_13|IOS_14|IOS_15" - "--no-tunnel" diff --git a/features/scripts/build_android.sh b/features/scripts/build_android.sh index 34f5c2d8d..19042e9ba 100755 --- a/features/scripts/build_android.sh +++ b/features/scripts/build_android.sh @@ -25,4 +25,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -projectPath $project_path -executeMethod Bu RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi -mv $project_path/mazerunner.apk $project_path/mazerunner_${UNITY_VERSION:0:4}.apk +mv $project_path/mazerunner.apk $project_path/mazerunner_$UNITY_VERSION.apk diff --git a/features/scripts/build_edm.sh b/features/scripts/build_edm.sh index a80241c92..31bff0b80 100755 --- a/features/scripts/build_edm.sh +++ b/features/scripts/build_edm.sh @@ -41,4 +41,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -buildTarget Android -logFile $script_path/b RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi - mv $project_path/edm.apk $project_path/edm_${UNITY_VERSION:0:4}.apk + mv $project_path/edm.apk $project_path/edm_$UNITY_VERSION.apk diff --git a/features/scripts/build_ios.sh b/features/scripts/build_ios.sh index 3a7ae3c85..fc8a7076c 100755 --- a/features/scripts/build_ios.sh +++ b/features/scripts/build_ios.sh @@ -38,4 +38,4 @@ if [ $? -ne 0 ]; then fi # Move to known location for running (note - the name of the .ipa differs between Xcode versions) -find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_${UNITY_VERSION:0:4}.ipa \; +find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_$UNITY_VERSION.ipa \; diff --git a/scripts/ci-build-macos-packages.sh b/scripts/ci-build-macos-packages.sh index 9faa5dab0..b047d8a30 100755 --- a/scripts/ci-build-macos-packages.sh +++ b/scripts/ci-build-macos-packages.sh @@ -5,6 +5,6 @@ ./features/scripts/build_maze_runner.sh webgl pushd features/fixtures/maze_runner/build - zip -r MacOS-${UNITY_VERSION:0:4}.zip MacOS - zip -r WebGL-${UNITY_VERSION:0:4}.zip WebGL + zip -r MacOS-$UNITY_VERSION.zip MacOS + zip -r WebGL-$UNITY_VERSION.zip WebGL popd diff --git a/scripts/ci-run-macos-tests-csharp.sh b/scripts/ci-run-macos-tests-csharp.sh index 3a77cf93e..e59214ab6 100644 --- a/scripts/ci-run-macos-tests-csharp.sh +++ b/scripts/ci-run-macos-tests-csharp.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-${UNITY_VERSION:0:4}.zip + unzip MacOS-$UNITY_VERSION.zip popd bundle install diff --git a/scripts/ci-run-macos-tests.sh b/scripts/ci-run-macos-tests.sh index 74e775c2e..e8a9465f4 100644 --- a/scripts/ci-run-macos-tests.sh +++ b/scripts/ci-run-macos-tests.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-${UNITY_VERSION:0:4}.zip + unzip MacOS-$UNITY_VERSION.zip popd bundle install From d1b422a724af3d6fcd6b801587d304850f68d156 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Tue, 9 Apr 2024 16:40:05 +0100 Subject: [PATCH 24/54] Drop testing on Unity 2018 and 2019 --- .buildkite/pipeline.full.yml | 529 +++-------------------------------- .buildkite/pipeline.yml | 78 +++--- 2 files changed, 72 insertions(+), 535 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index dd7def48e..55812200e 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -1,6 +1,4 @@ aliases: - - &2018 "2018.4.36f1" - - &2019 "2019.4.35f1" - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" - &2022 "2022.3.22f1" @@ -10,59 +8,11 @@ agents: steps: # Note: - # The basic pipeline handles Unity 2020, but doesn't include the building of test fixtures for WebGL, macOS and + # The basic pipeline handles Unity 2021, but doesn't include the building of test fixtures for WebGL, macOS and # Windows. They are included here instead. # Build MacOS and WebGL test fixtures # - - label: Build Unity 2018 MacOS and WebGL test fixtures - timeout_in_minutes: 30 - key: "cocoa-webgl-2018-fixtures" - depends_on: "build-artifacts" - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2018 - # Python2 needed for WebGL to build - EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - commands: - - scripts/ci-build-macos-packages.sh - artifact_paths: - - unity.log - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: Build Unity 2019 MacOS and WebGL test fixtures - timeout_in_minutes: 30 - key: "cocoa-webgl-2019-fixtures" - depends_on: "build-artifacts" - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2019 - # Python2 needed for WebGL to build - EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - commands: - - scripts/ci-build-macos-packages.sh - artifact_paths: - - unity.log - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - label: Build Unity 2020 MacOS and WebGL test fixtures timeout_in_minutes: 30 key: "cocoa-webgl-2020-fixtures" @@ -134,42 +84,6 @@ steps: # # Run macOS desktop tests # - - label: Run MacOS e2e tests for Unity 2018 - timeout_in_minutes: 60 - depends_on: "cocoa-webgl-2018-fixtures" - agents: - queue: macos-12-arm-unity - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - maze_output/metrics.csv - commands: - - scripts/ci-run-macos-tests-csharp.sh - - - label: Run MacOS e2e tests for Unity 2019 - timeout_in_minutes: 60 - depends_on: "cocoa-webgl-2019-fixtures" - agents: - queue: macos-12-arm-unity - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - maze_output/metrics.csv - commands: - - scripts/ci-run-macos-tests-csharp.sh - - label: Run MacOS e2e tests for Unity 2020 timeout_in_minutes: 60 depends_on: "cocoa-webgl-2020-fixtures" @@ -228,42 +142,6 @@ steps: # # Note: These are run on Intel due to an issue with persistence with Firefox on ARM. # - - label: Run WebGL e2e tests for Unity 2018 - timeout_in_minutes: 30 - depends_on: "cocoa-webgl-2018-fixtures" - agents: - queue: opensource-mac-cocoa-11 - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 - commands: - - scripts/ci-run-webgl-tests.sh - - - label: Run WebGL e2e tests for Unity 2019 - timeout_in_minutes: 30 - depends_on: "cocoa-webgl-2019-fixtures" - agents: - queue: opensource-mac-cocoa-11 - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 - commands: - - scripts/ci-run-webgl-tests.sh - - label: Run WebGL e2e tests for Unity 2020 timeout_in_minutes: 30 depends_on: "cocoa-webgl-2020-fixtures" @@ -317,60 +195,18 @@ steps: # # Build Android test fixtures # - - label: ":android: Build Android test fixture for Unity 2018" + - label: ":android: Build Android test fixture for Unity 2020" timeout_in_minutes: 30 - key: "build-android-fixture-2018" + key: "build-android-fixture-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk - - features/fixtures/build_android_apk.log - commands: - - bundle install - - rake test:android:build - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":android: Build Android test fixture for Unity 2019" - timeout_in_minutes: 30 - key: "build-android-fixture-2019" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk - - features/fixtures/build_android_apk.log - commands: - - bundle install - - rake test:android: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_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -401,18 +237,18 @@ steps: - exit_status: "*" limit: 1 - # - label: ':android: Build Android EDM test fixture for Unity 2021' + # - label: ':android: Build Android EDM test fixture for Unity 2020' # timeout_in_minutes: 30 - # key: 'build-edm-fixture-2021' + # key: 'build-edm-fixture-2020' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: *2021 + # UNITY_VERSION: *2020 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk + # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -426,81 +262,17 @@ steps: # # Run Android tests # - - label: ":bitbar: :android: Run Android e2e tests for Unity 2018" - timeout_in_minutes: 60 - depends_on: "build-android-fixture-2018" - agents: - queue: opensource - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :android: Run Android e2e tests for Unity 2019" + - label: ":bitbar: :android: Run Android e2e tests for Unity 2020" timeout_in_minutes: 60 - depends_on: "build-android-fixture-2019" + depends_on: "build-android-fixture-2020" agents: queue: opensource env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :android: Run Android e2e tests for Unity 2021" - timeout_in_minutes: 60 - depends_on: "build-android-fixture-2021" - agents: - queue: opensource - env: - UNITY_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -511,7 +283,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -554,9 +326,9 @@ steps: concurrency_group: "bitbar" concurrency_method: eager - # - label: ':android: Run Android EDM e2e tests for Unity 2021' + # - label: ':android: Run Android EDM e2e tests for Unity 2020' # timeout_in_minutes: 60 - # depends_on: 'build-edm-fixture-2021' + # depends_on: 'build-edm-fixture-2020' # agents: # queue: opensource # env: @@ -564,14 +336,14 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -582,139 +354,44 @@ steps: # # Build iOS test fixtures # - - label: ":ios: Generate Xcode project - Unity 2018" - timeout_in_minutes: 30 - key: "generate-fixture-project-2018" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/unity.log - - project_2018.tgz - commands: - - bundle install - - rake test:ios:generate_xcode - - tar -zvcf project_2018.tgz features/fixtures/maze_runner/mazerunner_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Build iOS test fixture for Unity 2018" - timeout_in_minutes: 30 - key: "build-ios-fixture-2018" - depends_on: "generate-fixture-project-2018" - agents: - queue: macos-12-arm-unity - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - - project_2018.tgz - upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2018.tgz features/fixtures/maze_runner - - rake test:ios:build_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Generate Xcode project - Unity 2019" - timeout_in_minutes: 30 - key: "generate-fixture-project-2019" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/unity.log - - project_2019.tgz - commands: - - bundle install - - rake test:ios:generate_xcode - - tar -zvcf project_2019.tgz features/fixtures/maze_runner/mazerunner_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Build iOS test fixture for Unity 2019" - timeout_in_minutes: 30 - key: "build-ios-fixture-2019" - depends_on: "generate-fixture-project-2019" - agents: - queue: macos-14 - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - - project_2019.tgz - upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2019.tgz features/fixtures/maze_runner - - rake test:ios:build_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Generate Xcode project - Unity 2021" + - label: ":ios: Generate Xcode project - Unity 2020" timeout_in_minutes: 30 - key: "generate-fixture-project-2021" + key: "generate-fixture-project-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - features/fixtures/unity.log - - project_2021.tgz + - project_2020.tgz commands: - bundle install - rake test:ios:generate_xcode - - tar -zvcf project_2021.tgz features/fixtures/maze_runner/mazerunner_xcode + - tar -zvcf project_2020.tgz features/fixtures/maze_runner/mazerunner_xcode retry: automatic: - exit_status: "*" limit: 1 - - label: ":ios: Build iOS test fixture for Unity 2021" + - label: ":ios: Build iOS test fixture for Unity 2020" timeout_in_minutes: 30 - key: "build-ios-fixture-2021" - depends_on: "generate-fixture-project-2021" + key: "build-ios-fixture-2020" + depends_on: "generate-fixture-project-2020" agents: queue: macos-12-arm-unity env: DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - - project_2021.tgz + - project_2020.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -776,47 +453,15 @@ steps: # # Run iOS tests # - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2018" - timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2018" - agents: - queue: opensource - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=IOS_13|IOS_14|IOS_15" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2019" + - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2020" timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2019" + depends_on: "build-ios-fixture-2020" agents: queue: opensource plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -827,37 +472,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=IOS_13|IOS_14|IOS_15" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2021" - timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2021" - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.28f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" @@ -901,50 +516,6 @@ steps: # # Build Windows test fixtures # - - label: Build Unity 2018 Windows test fixture - timeout_in_minutes: 30 - key: "windows-2018-fixture" - depends_on: "build-artifacts" - agents: - queue: windows-unity-wsl - env: - UNITY_VERSION: *2018 - command: - - scripts/ci-build-windows-fixture-wsl.sh - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - unity.log - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: Build Unity 2019 Windows test fixture - timeout_in_minutes: 30 - key: "windows-2019-fixture" - depends_on: "build-artifacts" - agents: - queue: windows-unity-wsl - env: - UNITY_VERSION: *2019 - command: - - scripts/ci-build-windows-fixture-wsl.sh - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - unity.log - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - label: Build Unity 2020 Windows test fixture timeout_in_minutes: 30 key: "windows-2020-fixture" @@ -1014,40 +585,6 @@ steps: # # Run Windows e2e tests # - - label: Run Windows e2e tests for Unity 2018 - timeout_in_minutes: 30 - depends_on: "windows-2018-fixture" - agents: - queue: windows-general-wsl - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - commands: - - scripts/ci-run-windows-tests-wsl.sh - - - label: Run Windows e2e tests for Unity 2019 - timeout_in_minutes: 30 - depends_on: "windows-2019-fixture" - agents: - queue: windows-general-wsl - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - commands: - - scripts/ci-run-windows-tests-wsl.sh - - label: Run Windows e2e tests for Unity 2020 timeout_in_minutes: 30 depends_on: "windows-2020-fixture" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f3cb32d9f..109627587 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,19 +1,19 @@ aliases: - - &2018 "2018.4.36f1" - &2020 "2020.3.48f1" + - &2021 "2021.3.36f1" agents: queue: macos-14 steps: # - # Build notifier. We run tests for all Unity versions with the 2018 artifacts, as that is what we ship. + # Build notifier. We run tests for all Unity versions with the 2020 artifacts, as that is what we ship. # - label: Build released notifier artifact timeout_in_minutes: 30 key: "build-artifacts" env: - UNITY_VERSION: *2018 + UNITY_VERSION: *2020 commands: - bundle install - bundle exec rake plugin:export @@ -29,7 +29,7 @@ steps: # agents: # queue: windows-unity-wsl # env: - # UNITY_VERSION: "2018.4.36f1" + # UNITY_VERSION: *2020 # WSLENV: UNITY_VERSION # command: # - /mnt/c/Windows/System32/cmd.exe /c .\\scripts\\ci-build-windows-plugin.bat @@ -47,7 +47,7 @@ steps: timeout_in_minutes: 10 depends_on: build-artifacts env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: 'artifacts#v1.9.0': download: @@ -56,18 +56,18 @@ steps: features/scripts/do_size_test.sh # Build Android test fixtures - - label: ":android: Build Android test fixture for Unity 2020" + - label: ":android: Build Android test fixture for Unity 2021" timeout_in_minutes: 30 - key: "build-android-fixture-2020" + key: "build-android-fixture-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -77,18 +77,18 @@ steps: - exit_status: "*" limit: 1 - # - label: ':android: Build Android EDM test fixture for Unity 2020' + # - label: ':android: Build Android EDM test fixture for Unity 2021' # timeout_in_minutes: 30 - # key: 'build-edm-fixture-2020' + # key: 'build-edm-fixture-2021' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk + # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -102,17 +102,17 @@ steps: # # Run Android tests # - - label: ":bitbar: :android: Run Android e2e tests for Unity 2020" + - label: ":bitbar: :android: Run Android e2e tests for Unity 2021" timeout_in_minutes: 60 - depends_on: "build-android-fixture-2020" + depends_on: "build-android-fixture-2021" agents: queue: opensource env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -123,7 +123,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -136,24 +136,24 @@ steps: # Run Android EDM tests - # - label: ':android: Run Android EDM e2e tests for Unity 2020' + # - label: ':android: Run Android EDM e2e tests for Unity 2021' # timeout_in_minutes: 30 - # depends_on: 'build-edm-fixture-2020' + # depends_on: 'build-edm-fixture-2021' # agents: # queue: opensource # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -164,45 +164,45 @@ steps: # # Build iOS test fixtures # - - label: ":ios: Generate Xcode project - Unity 2020" + - label: ":ios: Generate Xcode project - Unity 2021" timeout_in_minutes: 30 - key: "generate-fixture-project-2020" + key: "generate-fixture-project-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - features/fixtures/unity.log - - project_2020.tgz + - project_2021.tgz commands: - bundle install - rake test:ios:generate_xcode - - tar -zvcf project_2020.tgz features/fixtures/maze_runner/mazerunner_xcode + - tar -zvcf project_2021.tgz features/fixtures/maze_runner/mazerunner_xcode retry: automatic: - exit_status: "*" limit: 1 - - label: ":ios: Build iOS test fixture for Unity 2020" + - label: ":ios: Build iOS test fixture for Unity 2021" timeout_in_minutes: 30 - key: "build-ios-fixture-2020" - depends_on: "generate-fixture-project-2020" + key: "build-ios-fixture-2021" + depends_on: "generate-fixture-project-2021" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - - project_2020.tgz + - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa - features/fixtures/unity.log commands: - bundle install - - tar -zxf project_2020.tgz features/fixtures/maze_runner + - tar -zxf project_2021.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: automatic: @@ -212,15 +212,15 @@ steps: # # Run iOS tests # - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2020" + - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2021" timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2020" + depends_on: "build-ios-fixture-2021" agents: queue: opensource plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -232,7 +232,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" From 1be7ffa55f3c2cb3bfb43b7368a9eb27a7fe6a0f Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Wed, 10 Apr 2024 14:19:37 +0100 Subject: [PATCH 25/54] Move steps to macOS 14 [full ci] --- .buildkite/pipeline.full.yml | 22 +++++++--------------- .buildkite/pipeline.yml | 1 + 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 55812200e..3af5bb6d6 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -4,7 +4,7 @@ aliases: - &2022 "2022.3.22f1" agents: - queue: macos-12-arm-unity + queue: macos-14 steps: # Note: @@ -18,8 +18,8 @@ steps: key: "cocoa-webgl-2020-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2020 + XCODE_VERSION: "15.3.0" # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: @@ -42,8 +42,8 @@ steps: key: "cocoa-webgl-2021-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2021 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: @@ -64,8 +64,8 @@ steps: key: "cocoa-webgl-2022-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2022 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: @@ -87,8 +87,6 @@ steps: - label: Run MacOS e2e tests for Unity 2020 timeout_in_minutes: 60 depends_on: "cocoa-webgl-2020-fixtures" - agents: - queue: macos-12-arm-unity env: UNITY_VERSION: *2020 plugins: @@ -123,8 +121,6 @@ steps: - label: Run MacOS e2e tests for Unity 2022 timeout_in_minutes: 60 depends_on: 'cocoa-webgl-2022-fixtures' - agents: - queue: macos-12-arm-unity env: UNITY_VERSION: *2022 plugins: @@ -380,10 +376,8 @@ steps: timeout_in_minutes: 30 key: "build-ios-fixture-2020" depends_on: "generate-fixture-project-2020" - agents: - queue: macos-12-arm-unity env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" + XCODE_VERSION: "15.3.0" UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: @@ -395,7 +389,7 @@ steps: - features/fixtures/unity.log commands: - bundle install - - tar -zxf project_2021.tgz features/fixtures/maze_runner + - tar -zxf project_2020.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: automatic: @@ -428,11 +422,9 @@ steps: timeout_in_minutes: 30 key: "build-ios-fixture-2022" depends_on: "generate-fixture-project-2022" - agents: - queue: macos-12-arm-unity env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2022 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 109627587..fa1581396 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -192,6 +192,7 @@ steps: depends_on: "generate-fixture-project-2021" env: UNITY_VERSION: *2021 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: From a326b57386012608ede91c9fa9dfac84fc1ecf93 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Wed, 10 Apr 2024 16:30:51 +0100 Subject: [PATCH 26/54] Corrections [full ci] --- .buildkite/pipeline.full.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 3af5bb6d6..9476a1ad1 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -87,6 +87,8 @@ steps: - label: Run MacOS e2e tests for Unity 2020 timeout_in_minutes: 60 depends_on: "cocoa-webgl-2020-fixtures" + agents: + queue: macos-12-arm env: UNITY_VERSION: *2020 plugins: @@ -121,6 +123,8 @@ steps: - label: Run MacOS e2e tests for Unity 2022 timeout_in_minutes: 60 depends_on: 'cocoa-webgl-2022-fixtures' + agents: + queue: macos-12-arm env: UNITY_VERSION: *2022 plugins: @@ -176,6 +180,8 @@ steps: - label: Run WebGL e2e tests for Unity 2022 timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2022-fixtures' + agents: + queue: opensource-mac-cocoa-11 env: UNITY_VERSION: *2022 plugins: @@ -464,7 +470,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.28f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" From 48facff51200b5dfb00de489955177c562ad3ee8 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 11 Apr 2024 09:08:08 +0200 Subject: [PATCH 27/54] only init time api when required to prevent app hangs on iOS (#783) --- src/BugsnagUnity/MaximumLogTypeCounter.cs | 14 ++++--- src/BugsnagUnity/UniqueLogThrottle.cs | 45 +++++------------------ 2 files changed, 19 insertions(+), 40 deletions(-) diff --git a/src/BugsnagUnity/MaximumLogTypeCounter.cs b/src/BugsnagUnity/MaximumLogTypeCounter.cs index 7903de6f6..480795662 100644 --- a/src/BugsnagUnity/MaximumLogTypeCounter.cs +++ b/src/BugsnagUnity/MaximumLogTypeCounter.cs @@ -10,7 +10,7 @@ public class MaximumLogTypeCounter private Dictionary CurrentCounts { get; } - private double FlushAt { get; set; } + private double FlushAt { get; set; } = -1; private double MaximumLogsTimePeriod => Configuration.MaximumLogsTimePeriod.TotalSeconds; @@ -18,16 +18,18 @@ public class MaximumLogTypeCounter private readonly object _lock = new object(); - private void SetFlushTime() + private void EnsureFlushTimeIsSet() { - FlushAt = Time.ElapsedSeconds + MaximumLogsTimePeriod; + if (FlushAt < 0) + { + FlushAt = Time.ElapsedSeconds + MaximumLogsTimePeriod; + } } public MaximumLogTypeCounter(Configuration configuration) { Configuration = configuration; CurrentCounts = new Dictionary(); - SetFlushTime(); } public bool ShouldSend(UnityLogMessage unityLogMessage) @@ -36,6 +38,8 @@ public bool ShouldSend(UnityLogMessage unityLogMessage) lock (_lock) { + EnsureFlushTimeIsSet(); + if (MaximumTypePerTimePeriod.ContainsKey(type)) { if (CurrentCounts.ContainsKey(type)) @@ -52,7 +56,7 @@ public bool ShouldSend(UnityLogMessage unityLogMessage) if (unityLogMessage.CreatedAt > FlushAt) { CurrentCounts.Clear(); - SetFlushTime(); + FlushAt = Time.ElapsedSeconds + MaximumLogsTimePeriod; return true; } return false; diff --git a/src/BugsnagUnity/UniqueLogThrottle.cs b/src/BugsnagUnity/UniqueLogThrottle.cs index f900a89f0..102ff73d4 100644 --- a/src/BugsnagUnity/UniqueLogThrottle.cs +++ b/src/BugsnagUnity/UniqueLogThrottle.cs @@ -3,55 +3,36 @@ namespace BugsnagUnity { - /// - /// Applies the configured unique log throttling rules. - /// public class UniqueLogThrottle { private readonly object _lock = new object(); - - /// - /// Used to track the unique messages received. - /// private Dictionary Counter { get; } - - /// - /// Used to track when the counter should be flushed next - /// - private double FlushAt { get; set; } - - /// - /// The configuration for unique log counts and times - /// + private double FlushAt { get; set; } = -1; private Configuration Configuration { get; } private double UniqueLogsTimePeriod => Configuration.SecondsPerUniqueLog.TotalSeconds; - private void SetFlushTime() + private void EnsureFlushTimeIsSet() { - FlushAt = Time.ElapsedSeconds + UniqueLogsTimePeriod; + if (FlushAt < 0) + { + FlushAt = Time.ElapsedSeconds + UniqueLogsTimePeriod; + } } public UniqueLogThrottle(Configuration configuration) { Configuration = configuration; Counter = new Dictionary(new UnityLogMessageEqualityComparer()); - SetFlushTime(); } - /// - /// Determines if this log message should be sent to Bugsnag based on the - /// configured rules around unique log messages with a time period. - /// - /// - /// public bool ShouldSend(UnityLogMessage unityLogMessage) { bool shouldSend; lock (_lock) { + EnsureFlushTimeIsSet(); shouldSend = !Counter.ContainsKey(unityLogMessage); - if (shouldSend) { Counter.Add(unityLogMessage, 0); @@ -61,30 +42,24 @@ public bool ShouldSend(UnityLogMessage unityLogMessage) if (unityLogMessage.CreatedAt > FlushAt) { Counter.Clear(); - SetFlushTime(); + FlushAt = Time.ElapsedSeconds + UniqueLogsTimePeriod; shouldSend = true; } } } - return shouldSend; } - /// - /// Used to determine if log messages are unique. - /// class UnityLogMessageEqualityComparer : EqualityComparer { public override bool Equals(UnityLogMessage x, UnityLogMessage y) { - return x.Condition == y.Condition - && x.StackTrace == y.StackTrace - && x.Type == y.Type; + return x.Condition == y.Condition && x.StackTrace == y.StackTrace && x.Type == y.Type; } public override int GetHashCode(UnityLogMessage obj) { - unchecked // Overflow is fine, just wrap + unchecked { int hash = 17; hash = hash * 23 + obj.Condition.GetHashCode(); From 03c356b633338047051d43464075e0721282d2eb Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 11 Apr 2024 09:13:16 +0200 Subject: [PATCH 28/54] Release v7.7.3 --- CHANGELOG.md | 7 +++++-- build.cake | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc8865faa..0f8269d3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,11 @@ # Changelog -## TBD +## 7.7.3 (2024-04-11) -- Updated naming for BugsnagEditor EDM menu [#780](https://github.com/bugsnag/bugsnag-unity/pull/780) +### Bug Fixes + +- Changed initialisation of time api to reduce the risk of iOS app hangs on start [#783](https://github.com/bugsnag/bugsnag-unity/pull/783) +- Updated naming for BugsnagEditor EDM menu to reduce potential conflicts with other tools [#780](https://github.com/bugsnag/bugsnag-unity/pull/780) ## 7.7.2 (2024-03-01) diff --git a/build.cake b/build.cake index b640755ea..2dccdda51 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.2"; +var version = "7.7.3"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); From e29e9f315ae1e4d38659095bc78a5777646f754d Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 11 Apr 2024 09:07:17 +0100 Subject: [PATCH 29/54] Build artefact with 2021 [full ci] --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index fa1581396..4845fbbbc 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -13,7 +13,7 @@ steps: timeout_in_minutes: 30 key: "build-artifacts" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 commands: - bundle install - bundle exec rake plugin:export From 9768487b018c35c0a4a4964bd41076ad0cee56be Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Apr 2024 00:03:06 +0100 Subject: [PATCH 30/54] Add tests on Unity 2023 [full ci] --- .buildkite/pipeline.full.yml | 205 +++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 9476a1ad1..779fc2e80 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -2,6 +2,8 @@ aliases: - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" - &2022 "2022.3.22f1" + - &2023 "2023.2.17f1" + agents: queue: macos-14 @@ -81,6 +83,28 @@ steps: - exit_status: "*" limit: 1 + - label: Build Unity 2023 MacOS and WebGL test fixtures + timeout_in_minutes: 30 + key: "cocoa-webgl-2023-fixtures" + depends_on: "build-artifacts" + env: + UNITY_VERSION: *2023 + XCODE_VERSION: "15.3.0" + plugins: + artifacts#v1.5.0: + download: + - Bugsnag.unitypackage + commands: + - scripts/ci-build-macos-packages.sh + artifact_paths: + - unity.log + - features/fixtures/maze_runner/build/MacOS-2023.2.17f1.zip + - features/fixtures/maze_runner/build/WebGL-2023.2.17f1.zip + retry: + automatic: + - exit_status: "*" + limit: 1 + # # Run macOS desktop tests # @@ -137,6 +161,23 @@ steps: commands: - scripts/ci-run-macos-tests-csharp.sh + - label: Run MacOS e2e tests for Unity 2023 + timeout_in_minutes: 60 + depends_on: 'cocoa-webgl-2023-fixtures' + agents: + queue: macos-12-arm + env: + UNITY_VERSION: *2023 + plugins: + artifacts#v1.5.0: + download: + - features/fixtures/maze_runner/build/MacOS-2023.2.17f1.zip + upload: + - maze_output/**/* + - '*-mazerunner.log' + commands: + - scripts/ci-run-macos-tests-csharp.sh + # # Run WebGL tests # @@ -194,6 +235,23 @@ steps: commands: - scripts/ci-run-webgl-tests.sh + - label: Run WebGL e2e tests for Unity 2023 + timeout_in_minutes: 30 + depends_on: 'cocoa-webgl-2023-fixtures' + agents: + queue: opensource-mac-cocoa-11 + env: + UNITY_VERSION: *2023 + plugins: + artifacts#v1.5.0: + download: + - features/fixtures/maze_runner/build/WebGL-2023.2.17f1.zip + upload: + - maze_output/**/* + # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 + commands: + - scripts/ci-run-webgl-tests.sh + # # Build Android test fixtures # @@ -328,6 +386,38 @@ steps: concurrency_group: "bitbar" concurrency_method: eager + - label: ":bitbar: :android: Run Android e2e tests for Unity 2023" + timeout_in_minutes: 60 + depends_on: "build-android-fixture-2023" + agents: + queue: opensource + env: + UNITY_VERSION: *2023 + plugins: + artifacts#v1.5.0: + download: + - "features/fixtures/maze_runner/mazerunner_2023.3.22f1.apk" + upload: + - "maze_output/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.7.0: + pull: maze-runner-bitbar + run: maze-runner-bitbar + service-ports: true + command: + - "features/csharp" + - "features/android" + - "--app=features/fixtures/maze_runner/mazerunner_2023.3.22f1.apk" + - "--farm=bb" + - "--appium-version=1.22" + - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + concurrency: 25 + concurrency_group: "bitbar" + concurrency_method: eager + # - label: ':android: Run Android EDM e2e tests for Unity 2020' # timeout_in_minutes: 60 # depends_on: 'build-edm-fixture-2020' @@ -448,6 +538,52 @@ steps: - exit_status: "*" limit: 1 + - label: ":ios: Generate Xcode project - Unity 2023" + timeout_in_minutes: 30 + key: "generate-fixture-project-2023" + depends_on: "build-artifacts" + env: + UNITY_VERSION: *2023 + plugins: + artifacts#v1.5.0: + download: + - Bugsnag.unitypackage + upload: + - features/fixtures/unity.log + - project_2023.tgz + commands: + - bundle install + - rake test:ios:generate_xcode + - tar -zvcf project_2023.tgz features/fixtures/maze_runner/mazerunner_xcode + retry: + automatic: + - exit_status: "*" + limit: 1 + + - label: ":ios: Build iOS test fixture for Unity 2023" + timeout_in_minutes: 30 + key: "build-ios-fixture-2023" + depends_on: "generate-fixture-project-2023" + env: + UNITY_VERSION: *2023 + XCODE_VERSION: "15.3.0" + plugins: + artifacts#v1.5.0: + download: + - Bugsnag.unitypackage + - project_2023.tgz + upload: + - features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa + - features/fixtures/unity.log + commands: + - bundle install + - tar -zxf project_2023.tgz features/fixtures/maze_runner + - rake test:ios:build_xcode + retry: + automatic: + - exit_status: "*" + limit: 1 + # # Run iOS tests # @@ -511,6 +647,36 @@ steps: concurrency_group: "bitbar" concurrency_method: eager + - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2023" + timeout_in_minutes: 60 + depends_on: "build-ios-fixture-2023" + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: + - "features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa" + upload: + - "maze_output/**/*" + - "maze_output/metrics.csv" + docker-compose#v4.7.0: + pull: maze-runner-bitbar + run: maze-runner-bitbar + service-ports: true + command: + - "features/csharp" + - "features/ios" + - "--app=features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa" + - "--farm=bb" + - "--appium-version=1.22" + - "--device=IOS_13|IOS_14|IOS_15" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + concurrency: 25 + concurrency_group: "bitbar" + concurrency_method: eager + # # Build Windows test fixtures # @@ -580,6 +746,28 @@ steps: - exit_status: "*" limit: 1 + - label: Build Unity 2023 Windows test fixture + timeout_in_minutes: 30 + key: "windows-2023-fixture" + depends_on: "build-artifacts" + agents: + queue: windows-unity-wsl + env: + UNITY_VERSION: "2023.2.15f1" + commands: + - scripts/ci-build-windows-fixture-wsl.sh + plugins: + artifacts#v1.5.0: + download: + - Bugsnag.unitypackage + upload: + - unity.log + - features/fixtures/maze_runner/build/Windows-2023.2.15f1.zip + retry: + automatic: + - exit_status: "*" + limit: 1 + # # Run Windows e2e tests # @@ -634,3 +822,20 @@ steps: - maze_output/metrics.csv commands: - scripts/ci-run-windows-tests-wsl.sh + + - label: Run Windows e2e tests for Unity 2023 + timeout_in_minutes: 30 + depends_on: "windows-2023-fixture" + agents: + queue: windows-general-wsl + env: + UNITY_VERSION: "2023.2.15f1" + plugins: + artifacts#v1.5.0: + download: + - features/fixtures/maze_runner/build/Windows-2023.2.15f1.zip + upload: + - maze_output/**/* + - maze_output/metrics.csv + commands: + - scripts/ci-run-windows-tests-wsl.sh From 8f38477045ea73f14373c30f72f4d62df61d98ec Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Apr 2024 08:34:41 +0100 Subject: [PATCH 31/54] Corrections [full ci] --- .buildkite/pipeline.full.yml | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 779fc2e80..a0a0232dd 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -297,6 +297,27 @@ steps: - exit_status: "*" limit: 1 + - label: ":android: Build Android test fixture for Unity 2023" + timeout_in_minutes: 30 + key: "build-android-fixture-2023" + depends_on: "build-artifacts" + env: + UNITY_VERSION: *2023 + plugins: + artifacts#v1.5.0: + download: + - Bugsnag.unitypackage + upload: + - features/fixtures/maze_runner/mazerunner_2022.2.17f1.apk + - features/fixtures/build_android_apk.log + commands: + - bundle install + - rake test:android:build + retry: + automatic: + - exit_status: "*" + limit: 1 + # - label: ':android: Build Android EDM test fixture for Unity 2020' # timeout_in_minutes: 30 # key: 'build-edm-fixture-2020' @@ -396,7 +417,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2023.3.22f1.apk" + - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -407,7 +428,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2023.3.22f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -573,7 +594,7 @@ steps: - Bugsnag.unitypackage - project_2023.tgz upload: - - features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa + - features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa - features/fixtures/unity.log commands: - bundle install @@ -655,7 +676,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -666,7 +687,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2023.3.22f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" From 31855afd07c9d7497e2f8970f24f9059c1ef2f30 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Mon, 15 Apr 2024 10:22:53 +0100 Subject: [PATCH 32/54] Corrections 2 [full ci] --- .buildkite/pipeline.full.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index a0a0232dd..9ec8bfa08 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -308,7 +308,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2022.2.17f1.apk + - features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -774,7 +774,7 @@ steps: agents: queue: windows-unity-wsl env: - UNITY_VERSION: "2023.2.15f1" + UNITY_VERSION: *2023 commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: @@ -783,7 +783,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2023.2.15f1.zip + - features/fixtures/maze_runner/build/Windows-2023.2.17f1.zip retry: automatic: - exit_status: "*" From c98ca600561d751d66db337e42ae92adcfd0967d Mon Sep 17 00:00:00 2001 From: Steve Kirkland Date: Tue, 16 Apr 2024 10:01:32 +0100 Subject: [PATCH 33/54] Drop testing on Unity 2018 and 2019 (#786) --- .buildkite/pipeline.full.yml | 553 ++------------------- .buildkite/pipeline.yml | 79 +-- example/ProjectSettings/ProjectVersion.txt | 3 +- 3 files changed, 86 insertions(+), 549 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index dd7def48e..9476a1ad1 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -1,75 +1,25 @@ aliases: - - &2018 "2018.4.36f1" - - &2019 "2019.4.35f1" - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" - &2022 "2022.3.22f1" agents: - queue: macos-12-arm-unity + queue: macos-14 steps: # Note: - # The basic pipeline handles Unity 2020, but doesn't include the building of test fixtures for WebGL, macOS and + # The basic pipeline handles Unity 2021, but doesn't include the building of test fixtures for WebGL, macOS and # Windows. They are included here instead. # Build MacOS and WebGL test fixtures # - - label: Build Unity 2018 MacOS and WebGL test fixtures - timeout_in_minutes: 30 - key: "cocoa-webgl-2018-fixtures" - depends_on: "build-artifacts" - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2018 - # Python2 needed for WebGL to build - EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - commands: - - scripts/ci-build-macos-packages.sh - artifact_paths: - - unity.log - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: Build Unity 2019 MacOS and WebGL test fixtures - timeout_in_minutes: 30 - key: "cocoa-webgl-2019-fixtures" - depends_on: "build-artifacts" - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2019 - # Python2 needed for WebGL to build - EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - commands: - - scripts/ci-build-macos-packages.sh - artifact_paths: - - unity.log - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - label: Build Unity 2020 MacOS and WebGL test fixtures timeout_in_minutes: 30 key: "cocoa-webgl-2020-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2020 + XCODE_VERSION: "15.3.0" # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: @@ -92,8 +42,8 @@ steps: key: "cocoa-webgl-2021-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2021 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: @@ -114,8 +64,8 @@ steps: key: "cocoa-webgl-2022-fixtures" depends_on: "build-artifacts" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2022 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: @@ -134,47 +84,11 @@ steps: # # Run macOS desktop tests # - - label: Run MacOS e2e tests for Unity 2018 - timeout_in_minutes: 60 - depends_on: "cocoa-webgl-2018-fixtures" - agents: - queue: macos-12-arm-unity - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/MacOS-2018.4.36f1.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - maze_output/metrics.csv - commands: - - scripts/ci-run-macos-tests-csharp.sh - - - label: Run MacOS e2e tests for Unity 2019 - timeout_in_minutes: 60 - depends_on: "cocoa-webgl-2019-fixtures" - agents: - queue: macos-12-arm-unity - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/MacOS-2019.4.35f1.zip - upload: - - maze_output/**/* - - '*-mazerunner.log' - - maze_output/metrics.csv - commands: - - scripts/ci-run-macos-tests-csharp.sh - - label: Run MacOS e2e tests for Unity 2020 timeout_in_minutes: 60 depends_on: "cocoa-webgl-2020-fixtures" agents: - queue: macos-12-arm-unity + queue: macos-12-arm env: UNITY_VERSION: *2020 plugins: @@ -210,7 +124,7 @@ steps: timeout_in_minutes: 60 depends_on: 'cocoa-webgl-2022-fixtures' agents: - queue: macos-12-arm-unity + queue: macos-12-arm env: UNITY_VERSION: *2022 plugins: @@ -228,42 +142,6 @@ steps: # # Note: These are run on Intel due to an issue with persistence with Firefox on ARM. # - - label: Run WebGL e2e tests for Unity 2018 - timeout_in_minutes: 30 - depends_on: "cocoa-webgl-2018-fixtures" - agents: - queue: opensource-mac-cocoa-11 - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/WebGL-2018.4.36f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 - commands: - - scripts/ci-run-webgl-tests.sh - - - label: Run WebGL e2e tests for Unity 2019 - timeout_in_minutes: 30 - depends_on: "cocoa-webgl-2019-fixtures" - agents: - queue: opensource-mac-cocoa-11 - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/WebGL-2019.4.35f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 - commands: - - scripts/ci-run-webgl-tests.sh - - label: Run WebGL e2e tests for Unity 2020 timeout_in_minutes: 30 depends_on: "cocoa-webgl-2020-fixtures" @@ -302,6 +180,8 @@ steps: - label: Run WebGL e2e tests for Unity 2022 timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2022-fixtures' + agents: + queue: opensource-mac-cocoa-11 env: UNITY_VERSION: *2022 plugins: @@ -317,60 +197,18 @@ steps: # # Build Android test fixtures # - - label: ":android: Build Android test fixture for Unity 2018" + - label: ":android: Build Android test fixture for Unity 2020" timeout_in_minutes: 30 - key: "build-android-fixture-2018" + key: "build-android-fixture-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk - - features/fixtures/build_android_apk.log - commands: - - bundle install - - rake test:android:build - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":android: Build Android test fixture for Unity 2019" - timeout_in_minutes: 30 - key: "build-android-fixture-2019" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk - - features/fixtures/build_android_apk.log - commands: - - bundle install - - rake test:android: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_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -401,18 +239,18 @@ steps: - exit_status: "*" limit: 1 - # - label: ':android: Build Android EDM test fixture for Unity 2021' + # - label: ':android: Build Android EDM test fixture for Unity 2020' # timeout_in_minutes: 30 - # key: 'build-edm-fixture-2021' + # key: 'build-edm-fixture-2020' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: *2021 + # UNITY_VERSION: *2020 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk + # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -426,81 +264,17 @@ steps: # # Run Android tests # - - label: ":bitbar: :android: Run Android e2e tests for Unity 2018" + - label: ":bitbar: :android: Run Android e2e tests for Unity 2020" timeout_in_minutes: 60 - depends_on: "build-android-fixture-2018" + depends_on: "build-android-fixture-2020" agents: queue: opensource env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.apk" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :android: Run Android e2e tests for Unity 2019" - timeout_in_minutes: 60 - depends_on: "build-android-fixture-2019" - agents: - queue: opensource - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.apk" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :android: Run Android e2e tests for Unity 2021" - timeout_in_minutes: 60 - depends_on: "build-android-fixture-2021" - agents: - queue: opensource - env: - UNITY_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -511,7 +285,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -554,9 +328,9 @@ steps: concurrency_group: "bitbar" concurrency_method: eager - # - label: ':android: Run Android EDM e2e tests for Unity 2021' + # - label: ':android: Run Android EDM e2e tests for Unity 2020' # timeout_in_minutes: 60 - # depends_on: 'build-edm-fixture-2021' + # depends_on: 'build-edm-fixture-2020' # agents: # queue: opensource # env: @@ -564,14 +338,14 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -582,143 +356,46 @@ steps: # # Build iOS test fixtures # - - label: ":ios: Generate Xcode project - Unity 2018" - timeout_in_minutes: 30 - key: "generate-fixture-project-2018" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/unity.log - - project_2018.tgz - commands: - - bundle install - - rake test:ios:generate_xcode - - tar -zvcf project_2018.tgz features/fixtures/maze_runner/mazerunner_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Build iOS test fixture for Unity 2018" - timeout_in_minutes: 30 - key: "build-ios-fixture-2018" - depends_on: "generate-fixture-project-2018" - agents: - queue: macos-12-arm-unity - env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - - project_2018.tgz - upload: - - features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2018.tgz features/fixtures/maze_runner - - rake test:ios:build_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Generate Xcode project - Unity 2019" - timeout_in_minutes: 30 - key: "generate-fixture-project-2019" - depends_on: "build-artifacts" - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - features/fixtures/unity.log - - project_2019.tgz - commands: - - bundle install - - rake test:ios:generate_xcode - - tar -zvcf project_2019.tgz features/fixtures/maze_runner/mazerunner_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Build iOS test fixture for Unity 2019" - timeout_in_minutes: 30 - key: "build-ios-fixture-2019" - depends_on: "generate-fixture-project-2019" - agents: - queue: macos-14 - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - - project_2019.tgz - upload: - - features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa - - features/fixtures/unity.log - commands: - - bundle install - - tar -zxf project_2019.tgz features/fixtures/maze_runner - - rake test:ios:build_xcode - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Generate Xcode project - Unity 2021" + - label: ":ios: Generate Xcode project - Unity 2020" timeout_in_minutes: 30 - key: "generate-fixture-project-2021" + key: "generate-fixture-project-2020" depends_on: "build-artifacts" env: - UNITY_VERSION: *2021 + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - features/fixtures/unity.log - - project_2021.tgz + - project_2020.tgz commands: - bundle install - rake test:ios:generate_xcode - - tar -zvcf project_2021.tgz features/fixtures/maze_runner/mazerunner_xcode + - tar -zvcf project_2020.tgz features/fixtures/maze_runner/mazerunner_xcode retry: automatic: - exit_status: "*" limit: 1 - - label: ":ios: Build iOS test fixture for Unity 2021" + - label: ":ios: Build iOS test fixture for Unity 2020" timeout_in_minutes: 30 - key: "build-ios-fixture-2021" - depends_on: "generate-fixture-project-2021" - agents: - queue: macos-12-arm-unity + key: "build-ios-fixture-2020" + depends_on: "generate-fixture-project-2020" env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" - UNITY_VERSION: *2021 + XCODE_VERSION: "15.3.0" + UNITY_VERSION: *2020 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - - project_2021.tgz + - project_2020.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa + - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa - features/fixtures/unity.log commands: - bundle install - - tar -zxf project_2021.tgz features/fixtures/maze_runner + - tar -zxf project_2020.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: automatic: @@ -751,11 +428,9 @@ steps: timeout_in_minutes: 30 key: "build-ios-fixture-2022" depends_on: "generate-fixture-project-2022" - agents: - queue: macos-12-arm-unity env: - DEVELOPER_DIR: "/Applications/Xcode14.0.app" UNITY_VERSION: *2022 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: @@ -776,17 +451,15 @@ steps: # # Run iOS tests # - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2018" + - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2020" timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2018" + depends_on: "build-ios-fixture-2020" agents: queue: opensource - env: - UNITY_VERSION: *2018 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -797,67 +470,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2018.4.36f1.ipa" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=IOS_13|IOS_14|IOS_15" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2019" - timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2019" - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2019.4.35f1.ipa" - - "--farm=bb" - - "--appium-version=1.22" - - "--device=IOS_13|IOS_14|IOS_15" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - concurrency: 25 - concurrency_group: "bitbar" - concurrency_method: eager - - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2021" - timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2021" - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - upload: - - "maze_output/**/*" - - "maze_output/metrics.csv" - docker-compose#v4.7.0: - pull: maze-runner-bitbar - run: maze-runner-bitbar - service-ports: true - command: - - "features/csharp" - - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" @@ -901,50 +514,6 @@ steps: # # Build Windows test fixtures # - - label: Build Unity 2018 Windows test fixture - timeout_in_minutes: 30 - key: "windows-2018-fixture" - depends_on: "build-artifacts" - agents: - queue: windows-unity-wsl - env: - UNITY_VERSION: *2018 - command: - - scripts/ci-build-windows-fixture-wsl.sh - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - unity.log - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: Build Unity 2019 Windows test fixture - timeout_in_minutes: 30 - key: "windows-2019-fixture" - depends_on: "build-artifacts" - agents: - queue: windows-unity-wsl - env: - UNITY_VERSION: *2019 - command: - - scripts/ci-build-windows-fixture-wsl.sh - plugins: - artifacts#v1.5.0: - download: - - Bugsnag.unitypackage - upload: - - unity.log - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip - retry: - automatic: - - exit_status: "*" - limit: 1 - - label: Build Unity 2020 Windows test fixture timeout_in_minutes: 30 key: "windows-2020-fixture" @@ -1014,40 +583,6 @@ steps: # # Run Windows e2e tests # - - label: Run Windows e2e tests for Unity 2018 - timeout_in_minutes: 30 - depends_on: "windows-2018-fixture" - agents: - queue: windows-general-wsl - env: - UNITY_VERSION: *2018 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/Windows-2018.4.36f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - commands: - - scripts/ci-run-windows-tests-wsl.sh - - - label: Run Windows e2e tests for Unity 2019 - timeout_in_minutes: 30 - depends_on: "windows-2019-fixture" - agents: - queue: windows-general-wsl - env: - UNITY_VERSION: *2019 - plugins: - artifacts#v1.5.0: - download: - - features/fixtures/maze_runner/build/Windows-2019.4.35f1.zip - upload: - - maze_output/**/* - - maze_output/metrics.csv - commands: - - scripts/ci-run-windows-tests-wsl.sh - - label: Run Windows e2e tests for Unity 2020 timeout_in_minutes: 30 depends_on: "windows-2020-fixture" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f3cb32d9f..4845fbbbc 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,19 +1,19 @@ aliases: - - &2018 "2018.4.36f1" - &2020 "2020.3.48f1" + - &2021 "2021.3.36f1" agents: queue: macos-14 steps: # - # Build notifier. We run tests for all Unity versions with the 2018 artifacts, as that is what we ship. + # Build notifier. We run tests for all Unity versions with the 2020 artifacts, as that is what we ship. # - label: Build released notifier artifact timeout_in_minutes: 30 key: "build-artifacts" env: - UNITY_VERSION: *2018 + UNITY_VERSION: *2021 commands: - bundle install - bundle exec rake plugin:export @@ -29,7 +29,7 @@ steps: # agents: # queue: windows-unity-wsl # env: - # UNITY_VERSION: "2018.4.36f1" + # UNITY_VERSION: *2020 # WSLENV: UNITY_VERSION # command: # - /mnt/c/Windows/System32/cmd.exe /c .\\scripts\\ci-build-windows-plugin.bat @@ -47,7 +47,7 @@ steps: timeout_in_minutes: 10 depends_on: build-artifacts env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: 'artifacts#v1.9.0': download: @@ -56,18 +56,18 @@ steps: features/scripts/do_size_test.sh # Build Android test fixtures - - label: ":android: Build Android test fixture for Unity 2020" + - label: ":android: Build Android test fixture for Unity 2021" timeout_in_minutes: 30 - key: "build-android-fixture-2020" + key: "build-android-fixture-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -77,18 +77,18 @@ steps: - exit_status: "*" limit: 1 - # - label: ':android: Build Android EDM test fixture for Unity 2020' + # - label: ':android: Build Android EDM test fixture for Unity 2021' # timeout_in_minutes: 30 - # key: 'build-edm-fixture-2020' + # key: 'build-edm-fixture-2021' # depends_on: 'build-artifacts' # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: *2021 # plugins: # artifacts#v1.5.0: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk + # - features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -102,17 +102,17 @@ steps: # # Run Android tests # - - label: ":bitbar: :android: Run Android e2e tests for Unity 2020" + - label: ":bitbar: :android: Run Android e2e tests for Unity 2021" timeout_in_minutes: 60 - depends_on: "build-android-fixture-2020" + depends_on: "build-android-fixture-2021" agents: queue: opensource env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -123,7 +123,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -136,24 +136,24 @@ steps: # Run Android EDM tests - # - label: ':android: Run Android EDM e2e tests for Unity 2020' + # - label: ':android: Run Android EDM e2e tests for Unity 2021' # timeout_in_minutes: 30 - # depends_on: 'build-edm-fixture-2020' + # depends_on: 'build-edm-fixture-2021' # agents: # queue: opensource # env: - # UNITY_VERSION: "2020.3.48f1" + # UNITY_VERSION: "2021.3.36f1" # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2021.3.36f1.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -164,45 +164,46 @@ steps: # # Build iOS test fixtures # - - label: ":ios: Generate Xcode project - Unity 2020" + - label: ":ios: Generate Xcode project - Unity 2021" timeout_in_minutes: 30 - key: "generate-fixture-project-2020" + key: "generate-fixture-project-2021" depends_on: "build-artifacts" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage upload: - features/fixtures/unity.log - - project_2020.tgz + - project_2021.tgz commands: - bundle install - rake test:ios:generate_xcode - - tar -zvcf project_2020.tgz features/fixtures/maze_runner/mazerunner_xcode + - tar -zvcf project_2021.tgz features/fixtures/maze_runner/mazerunner_xcode retry: automatic: - exit_status: "*" limit: 1 - - label: ":ios: Build iOS test fixture for Unity 2020" + - label: ":ios: Build iOS test fixture for Unity 2021" timeout_in_minutes: 30 - key: "build-ios-fixture-2020" - depends_on: "generate-fixture-project-2020" + key: "build-ios-fixture-2021" + depends_on: "generate-fixture-project-2021" env: - UNITY_VERSION: *2020 + UNITY_VERSION: *2021 + XCODE_VERSION: "15.3.0" plugins: artifacts#v1.5.0: download: - Bugsnag.unitypackage - - project_2020.tgz + - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa - features/fixtures/unity.log commands: - bundle install - - tar -zxf project_2020.tgz features/fixtures/maze_runner + - tar -zxf project_2021.tgz features/fixtures/maze_runner - rake test:ios:build_xcode retry: automatic: @@ -212,15 +213,15 @@ steps: # # Run iOS tests # - - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2020" + - label: ":bitbar: :ios: Run iOS e2e tests for Unity 2021" timeout_in_minutes: 60 - depends_on: "build-ios-fixture-2020" + depends_on: "build-ios-fixture-2021" agents: queue: opensource plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -232,7 +233,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" diff --git a/example/ProjectSettings/ProjectVersion.txt b/example/ProjectSettings/ProjectVersion.txt index 95dcc9f42..da76706d2 100644 --- a/example/ProjectSettings/ProjectVersion.txt +++ b/example/ProjectSettings/ProjectVersion.txt @@ -1 +1,2 @@ -m_EditorVersion: 2018.4.34f1 +m_EditorVersion: 2020.3.48f1 +m_EditorVersionWithRevision: 2020.3.48f1 (b805b124c6b7) From 2cacad34004d4c0d0cf7a94097b686e982e8a841 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 16 Apr 2024 10:37:08 +0100 Subject: [PATCH 34/54] update unity version names in build scripts --- .buildkite/pipeline.yml | 13 ++++++------- features/scripts/build_android.sh | 2 +- features/scripts/build_edm.sh | 2 +- features/scripts/build_ios.sh | 2 +- scripts/ci-build-macos-packages.sh | 4 ++-- scripts/ci-build-windows-fixture-wsl.sh | 2 +- scripts/ci-run-macos-tests-csharp.sh | 2 +- scripts/ci-run-macos-tests.sh | 2 +- scripts/ci-run-webgl-tests.sh | 2 +- scripts/ci-run-windows-tests-wsl.sh | 2 +- 10 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4845fbbbc..3813f5b2b 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,5 +1,4 @@ aliases: - - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" agents: @@ -67,7 +66,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk + - features/fixtures/maze_runner/mazerunner_2021.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -112,7 +111,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "features/fixtures/maze_runner/mazerunner_2021.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -123,7 +122,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2021.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -199,7 +198,7 @@ steps: - Bugsnag.unitypackage - project_2021.tgz upload: - - features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa + - features/fixtures/maze_runner/mazerunner_2021.ipa - features/fixtures/unity.log commands: - bundle install @@ -221,7 +220,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2021.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -233,7 +232,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2021.3.36f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2021.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" diff --git a/features/scripts/build_android.sh b/features/scripts/build_android.sh index 19042e9ba..34f5c2d8d 100755 --- a/features/scripts/build_android.sh +++ b/features/scripts/build_android.sh @@ -25,4 +25,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -projectPath $project_path -executeMethod Bu RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi -mv $project_path/mazerunner.apk $project_path/mazerunner_$UNITY_VERSION.apk +mv $project_path/mazerunner.apk $project_path/mazerunner_${UNITY_VERSION:0:4}.apk diff --git a/features/scripts/build_edm.sh b/features/scripts/build_edm.sh index 31bff0b80..a80241c92 100755 --- a/features/scripts/build_edm.sh +++ b/features/scripts/build_edm.sh @@ -41,4 +41,4 @@ $UNITY_PATH/Unity $DEFAULT_CLI_ARGS -buildTarget Android -logFile $script_path/b RESULT=$? if [ $RESULT -ne 0 ]; then exit $RESULT; fi - mv $project_path/edm.apk $project_path/edm_$UNITY_VERSION.apk + mv $project_path/edm.apk $project_path/edm_${UNITY_VERSION:0:4}.apk diff --git a/features/scripts/build_ios.sh b/features/scripts/build_ios.sh index fc8a7076c..3a7ae3c85 100755 --- a/features/scripts/build_ios.sh +++ b/features/scripts/build_ios.sh @@ -38,4 +38,4 @@ if [ $? -ne 0 ]; then fi # Move to known location for running (note - the name of the .ipa differs between Xcode versions) -find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_$UNITY_VERSION.ipa \; +find $project_path/output/ -name "*.ipa" -exec mv '{}' $project_path/mazerunner_${UNITY_VERSION:0:4}.ipa \; diff --git a/scripts/ci-build-macos-packages.sh b/scripts/ci-build-macos-packages.sh index b047d8a30..9faa5dab0 100755 --- a/scripts/ci-build-macos-packages.sh +++ b/scripts/ci-build-macos-packages.sh @@ -5,6 +5,6 @@ ./features/scripts/build_maze_runner.sh webgl pushd features/fixtures/maze_runner/build - zip -r MacOS-$UNITY_VERSION.zip MacOS - zip -r WebGL-$UNITY_VERSION.zip WebGL + zip -r MacOS-${UNITY_VERSION:0:4}.zip MacOS + zip -r WebGL-${UNITY_VERSION:0:4}.zip WebGL popd diff --git a/scripts/ci-build-windows-fixture-wsl.sh b/scripts/ci-build-windows-fixture-wsl.sh index 9c4ad8cb1..0d1bec9e7 100644 --- a/scripts/ci-build-windows-fixture-wsl.sh +++ b/scripts/ci-build-windows-fixture-wsl.sh @@ -2,4 +2,4 @@ cd features/scripts ./build_maze_runner.sh wsl cd ../fixtures/maze_runner/build -zip -r Windows-$UNITY_VERSION.zip Windows +zip -r Windows-${UNITY_VERSION:0:4}.zip Windows diff --git a/scripts/ci-run-macos-tests-csharp.sh b/scripts/ci-run-macos-tests-csharp.sh index e59214ab6..3a77cf93e 100644 --- a/scripts/ci-run-macos-tests-csharp.sh +++ b/scripts/ci-run-macos-tests-csharp.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-$UNITY_VERSION.zip + unzip MacOS-${UNITY_VERSION:0:4}.zip popd bundle install diff --git a/scripts/ci-run-macos-tests.sh b/scripts/ci-run-macos-tests.sh index e8a9465f4..74e775c2e 100644 --- a/scripts/ci-run-macos-tests.sh +++ b/scripts/ci-run-macos-tests.sh @@ -1,6 +1,6 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip MacOS-$UNITY_VERSION.zip + unzip MacOS-${UNITY_VERSION:0:4}.zip popd bundle install diff --git a/scripts/ci-run-webgl-tests.sh b/scripts/ci-run-webgl-tests.sh index 82fee7db1..901ea07dc 100644 --- a/scripts/ci-run-webgl-tests.sh +++ b/scripts/ci-run-webgl-tests.sh @@ -1,7 +1,7 @@ #!/bin/bash -e pushd features/fixtures/maze_runner/build - unzip WebGL-$UNITY_VERSION.zip + unzip WebGL-${UNITY_VERSION:0:4}.zip popd bundle install diff --git a/scripts/ci-run-windows-tests-wsl.sh b/scripts/ci-run-windows-tests-wsl.sh index 3caec9501..29c862515 100644 --- a/scripts/ci-run-windows-tests-wsl.sh +++ b/scripts/ci-run-windows-tests-wsl.sh @@ -1,6 +1,6 @@ #!/bin/bash -e cd features/fixtures/maze_runner/build -unzip Windows-$UNITY_VERSION.zip +unzip Windows-${UNITY_VERSION:0:4}.zip cd ../../../.. bundle install bundle exec maze-runner --app=features/fixtures/maze_runner/build/Windows/Mazerunner.exe --os=windows features/csharp From 4da64242b2aa2ba4d9d06a653855cb0a4c7711d6 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Tue, 16 Apr 2024 11:06:17 +0100 Subject: [PATCH 35/54] [full ci] --- .buildkite/pipeline.full.yml | 66 ++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 9476a1ad1..7db7b9d58 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -30,8 +30,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip - - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip + - features/fixtures/maze_runner/build/MacOS-2020.zip + - features/fixtures/maze_runner/build/WebGL-2020.zip retry: automatic: - exit_status: "*" @@ -52,8 +52,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip - - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip + - features/fixtures/maze_runner/build/MacOS-2021.zip + - features/fixtures/maze_runner/build/WebGL-2021.zip retry: automatic: - exit_status: "*" @@ -74,8 +74,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip - - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip + - features/fixtures/maze_runner/build/MacOS-2022.zip + - features/fixtures/maze_runner/build/WebGL-2022.zip retry: automatic: - exit_status: "*" @@ -94,7 +94,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip + - features/fixtures/maze_runner/build/MacOS-2020.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -113,7 +113,7 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip + # - features/fixtures/maze_runner/build/MacOS-2021.zip # upload: # - maze_output/**/* # - Mazerunner.log @@ -130,7 +130,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip + - features/fixtures/maze_runner/build/MacOS-2022.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -152,7 +152,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip + - features/fixtures/maze_runner/build/WebGL-2020.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -170,7 +170,7 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip + # - features/fixtures/maze_runner/build/WebGL-2021.zip # upload: # - maze_output/**/* # # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -187,7 +187,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip + - features/fixtures/maze_runner/build/WebGL-2022.zip upload: - maze_output/**/* # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -208,7 +208,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk + - features/fixtures/maze_runner/mazerunner_2020.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -229,7 +229,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk + - features/fixtures/maze_runner/mazerunner_2022.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -250,7 +250,7 @@ steps: # download: # - Bugsnag.unitypackage # upload: - # - features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk + # - features/fixtures/EDM_Fixture/edm_2020.apk # - features/scripts/buildEdmFixture.log # - features/scripts/edmImport.log # - features/scripts/enableEdm.log @@ -274,7 +274,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "features/fixtures/maze_runner/mazerunner_2020.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -285,7 +285,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2020.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -306,7 +306,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" + - "features/fixtures/maze_runner/mazerunner_2022.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -317,7 +317,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2022.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -338,14 +338,14 @@ steps: # plugins: # artifacts#v1.5.0: # download: - # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "features/fixtures/EDM_Fixture/edm_2020.apk" # upload: # - "maze_output/**/*" # docker-compose#v3.7.0: # pull: maze-runner # run: maze-runner # command: - # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" + # - "--app=/app/features/fixtures/EDM_Fixture/edm_2020.apk" # - "--farm=bs" # - "--device=ANDROID_11_0" # - "features/edm" @@ -391,7 +391,7 @@ steps: - Bugsnag.unitypackage - project_2020.tgz upload: - - features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa + - features/fixtures/maze_runner/mazerunner_2020.ipa - features/fixtures/unity.log commands: - bundle install @@ -437,7 +437,7 @@ steps: - Bugsnag.unitypackage - project_2022.tgz upload: - - features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa + - features/fixtures/maze_runner/mazerunner_2022.ipa - features/fixtures/unity.log commands: - bundle install @@ -459,7 +459,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2020.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -470,7 +470,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2020.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" @@ -489,7 +489,7 @@ steps: plugins: artifacts#v1.5.0: download: - - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2022.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -500,7 +500,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2022.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" @@ -528,7 +528,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip + - features/fixtures/maze_runner/build/Windows-2020.zip commands: - scripts/ci-build-windows-fixture-wsl.sh retry: @@ -552,7 +552,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip retry: automatic: - exit_status: "*" @@ -574,7 +574,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log - - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip + - features/fixtures/maze_runner/build/Windows-2022.zip retry: automatic: - exit_status: "*" @@ -593,7 +593,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip + - features/fixtures/maze_runner/build/Windows-2020.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -611,7 +611,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip + - features/fixtures/maze_runner/build/Windows-2021.zip upload: - maze_output/**/* - maze_output/metrics.csv @@ -628,7 +628,7 @@ steps: plugins: artifacts#v1.5.0: download: - - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip + - features/fixtures/maze_runner/build/Windows-2022.zip upload: - maze_output/**/* - maze_output/metrics.csv From 983eafac716292621e463fb18a77d50cf250a099 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 18 Apr 2024 15:20:39 +0200 Subject: [PATCH 36/54] PLAT-12012 fix for incorrect ios device metadata (#791) --- CHANGELOG.md | 6 +++ features/csharp/csharp_metadata.feature | 21 ++++++++- features/support/env.rb | 8 ++++ src/BugsnagUnity.m | 59 ++++++++++++++++--------- 4 files changed, 73 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f8269d3e..d9f6f7ae1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## TBD + +### Bug Fixes + +- Fixed issue where iOS C# events reported the incorrect value for device.osName. [#791](https://github.com/bugsnag/bugsnag-unity/pull/791) + ## 7.7.3 (2024-04-11) ### Bug Fixes diff --git a/features/csharp/csharp_metadata.feature b/features/csharp/csharp_metadata.feature index 11e1575a3..23f6a8b47 100644 --- a/features/csharp/csharp_metadata.feature +++ b/features/csharp/csharp_metadata.feature @@ -40,4 +40,23 @@ Feature: Metadata And the event "metaData.numberArray.testKey.1" equals 2 And the event "metaData.stringArray.testKey.1" equals "2" And the event "metaData.dictionary.foo" equals "bar" - And the event "metaData.number.testKey" equals 123 \ No newline at end of file + And the event "metaData.number.testKey" equals 123 + + # these platform specific tests are smoke tests, if os name is wrong then it's a sign that the native information has not been properly retrieved from the native layer and the unity placeholder data is being used + @ios_only + Scenario: iOS specific metadata + When I run the game in the "NotifySmokeTest" state + And I wait to receive an error + Then the error is valid for the error reporting API sent by the Unity notifier + And expected device metadata is included in the event + And expected app metadata is included in the event + And the event "device.osName" equals "iOS" + + @android_only + Scenario: Android specific metadata + When I run the game in the "NotifySmokeTest" state + And I wait to receive an error + Then the error is valid for the error reporting API sent by the Unity notifier + And expected device metadata is included in the event + And expected app metadata is included in the event + And the event "device.osName" equals "android" diff --git a/features/support/env.rb b/features/support/env.rb index e299156de..7f55fd1b7 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -28,6 +28,10 @@ end +Before('@ios_only') do |_scenario| + skip_this_scenario('Skipping scenario') unless Maze::Helper.get_current_platform == 'ios' +end + Before('@cocoa_only') do |_scenario| skip_this_scenario('Skipping scenario') unless Maze.config.os == 'macos' || Maze::Helper.get_current_platform == 'ios' end @@ -53,6 +57,10 @@ skip_this_scenario("Skipping scenario") if Maze::Helper.get_current_platform == 'android' end +Before('@android_only') do |_scenario| + skip_this_scenario('Skipping scenario') unless Maze::Helper.get_current_platform == 'android' +end + BeforeAll do $api_key = 'a35a2a72bd230ac0aa0f52715bbdc6aa' diff --git a/src/BugsnagUnity.m b/src/BugsnagUnity.m index 8afd58ad5..4098596a5 100644 --- a/src/BugsnagUnity.m +++ b/src/BugsnagUnity.m @@ -732,13 +732,26 @@ void bugsnag_retrieveBreadcrumbs(const void *managedBreadcrumbs, void (*breadcru char * bugsnag_retrieveAppData() { BugsnagAppWithState *app = [Bugsnag.client generateAppWithState:BSGGetSystemInfo()]; - NSDictionary *appDictionary = [NSDictionary dictionaryWithObjectsAndKeys: - app.bundleVersion, @"bundleVersion", - app.id, @"id", - app.isLaunching ? @"true" : @"false", @"isLaunching", - app.type, @"type", - app.version, @"version", - nil]; + if (app == nil) { + return NULL; + } + + NSMutableDictionary *appDictionary = [NSMutableDictionary dictionary]; + + if (app.bundleVersion != nil) { + [appDictionary setObject:app.bundleVersion forKey:@"bundleVersion"]; + } + if (app.id != nil) { + [appDictionary setObject:app.id forKey:@"id"]; + } + [appDictionary setObject:(app.isLaunching ? @"true" : @"false") forKey:@"isLaunching"]; + if (app.type != nil) { + [appDictionary setObject:app.type forKey:@"type"]; + } + if (app.version != nil) { + [appDictionary setObject:app.version forKey:@"version"]; + } + return getJson(appDictionary); } @@ -754,22 +767,28 @@ void bugsnag_retrieveLastRunInfo(const void *lastRuninfo, void (*callback)(const char * bugsnag_retrieveDeviceData(const void *deviceData, void (*callback)(const void *instance, const char *key, const char *value)) { BugsnagDeviceWithState *device = [Bugsnag.client generateDeviceWithState:BSGGetSystemInfo()]; - NSDictionary *deviceDictionary = [NSDictionary dictionaryWithObjectsAndKeys: - device.freeDisk, @"freeDisk", - device.freeMemory, @"freeMemory", - device.id, @"id", - device.jailbroken ? @"true" : @"false", @"jailbroken", - device.locale, @"locale", - device.manufacturer, @"manufacturer", - device.model, @"model", - device.modelNumber, @"modelNumber", - device.runtimeVersions[@"osBuild"], @"osBuild", - device.osName, @"osName", - device.osVersion,@ "osVersion", - nil]; + NSMutableDictionary *deviceDictionary = [[NSMutableDictionary alloc] init]; + + if (device.freeDisk != nil) [deviceDictionary setObject:device.freeDisk forKey:@"freeDisk"]; + if (device.freeMemory != nil) [deviceDictionary setObject:device.freeMemory forKey:@"freeMemory"]; + if (device.id != nil) [deviceDictionary setObject:device.id forKey:@"id"]; + if (device.jailbroken) { + [deviceDictionary setObject:@"true" forKey:@"jailbroken"]; + } else { + [deviceDictionary setObject:@"false" forKey:@"jailbroken"]; + } + if (device.locale != nil) [deviceDictionary setObject:device.locale forKey:@"locale"]; + if (device.manufacturer != nil) [deviceDictionary setObject:device.manufacturer forKey:@"manufacturer"]; + if (device.model != nil) [deviceDictionary setObject:device.model forKey:@"model"]; + if (device.modelNumber != nil) [deviceDictionary setObject:device.modelNumber forKey:@"modelNumber"]; + if (device.runtimeVersions[@"osBuild"] != nil) [deviceDictionary setObject:device.runtimeVersions[@"osBuild"] forKey:@"osBuild"]; + if (device.osName != nil) [deviceDictionary setObject:device.osName forKey:@"osName"]; + if (device.osVersion != nil) [deviceDictionary setObject:device.osVersion forKey:@"osVersion"]; + return getJson(deviceDictionary); } + void bugsnag_populateUser(struct bugsnag_user *user) { user->user_id = BSGGetDefaultDeviceId().UTF8String; } From fb5471457e105e83c36e888ee9fccd4bb6c95afe Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 18 Apr 2024 15:56:16 +0200 Subject: [PATCH 37/54] Release v7.7.4 --- CHANGELOG.md | 2 +- build.cake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9f6f7ae1..772dcb88d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## TBD +## 7.7.4 (2024-05-19) ### Bug Fixes diff --git a/build.cake b/build.cake index 2dccdda51..5b2dc12c1 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.3"; +var version = "7.7.4"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); From 708caea54c8466c5b8dfdab32f26fe97583b639f Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 19 Apr 2024 12:27:54 +0100 Subject: [PATCH 38/54] Upload import log --- .buildkite/pipeline.full.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 9ec8bfa08..c8e085e39 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -739,6 +739,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log + - unity_import.log - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip retry: automatic: @@ -761,6 +762,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log + - unity_import.log - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip retry: automatic: @@ -783,6 +785,7 @@ steps: - Bugsnag.unitypackage upload: - unity.log + - unity_import.log - features/fixtures/maze_runner/build/Windows-2023.2.17f1.zip retry: automatic: From af0c0a64c80422cff33ca10b5b06dc3f538eee5c Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Tue, 23 Apr 2024 10:57:17 +0200 Subject: [PATCH 39/54] PLAT-12022 missing cocoa callback values (#793) --- CHANGELOG.md | 6 ++++++ .../Scripts/Scenarios/iOS/IosNativeOnSendCallback.cs | 4 +++- features/ios/ios_callbacks.feature | 4 ++++ src/BugsnagUnity/Native/Cocoa/NativeDevice.cs | 8 ++++---- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 772dcb88d..881b2fcf8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## TBD + +### Bug Fixes + +- Fixed issue where changes to device.TotalMemory and device.ModelNumber in cocoa on send callbacks were not respected. [#793](https://github.com/bugsnag/bugsnag-unity/pull/793) + ## 7.7.4 (2024-05-19) ### Bug Fixes diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/iOS/IosNativeOnSendCallback.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/iOS/IosNativeOnSendCallback.cs index d87a73613..5445f389d 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/iOS/IosNativeOnSendCallback.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/iOS/IosNativeOnSendCallback.cs @@ -40,7 +40,9 @@ public override void PrepareConfig(string apiKey, string host) device.Jailbroken = true; device.Orientation = "Custom Orientation"; device.Time = new DateTimeOffset(1985, 08, 21, 01, 01, 01, TimeSpan.Zero); - + device.TotalMemory = 999; + device.ModelNumber = "Custom ModelNumber"; + // breadcrumbs foreach (var crumb in @event.Breadcrumbs) { diff --git a/features/ios/ios_callbacks.feature b/features/ios/ios_callbacks.feature index a6332e03f..ebc6122e2 100644 --- a/features/ios/ios_callbacks.feature +++ b/features/ios/ios_callbacks.feature @@ -50,6 +50,10 @@ Feature: Callbacks And the event "device.osVersion" equals "Custom OsVersion" And the event "device.runtimeVersions.scoop" equals "dewoop" And the event "device.orientation" equals "Custom Orientation" + And the event "device.modelNumber" equals "Custom ModelNumber" + And the event "device.totalMemory" equals 999 + + # Breadcrumbs And the event "breadcrumbs.0.name" equals "Custom Message" diff --git a/src/BugsnagUnity/Native/Cocoa/NativeDevice.cs b/src/BugsnagUnity/Native/Cocoa/NativeDevice.cs index 9848669ce..aac369c67 100644 --- a/src/BugsnagUnity/Native/Cocoa/NativeDevice.cs +++ b/src/BugsnagUnity/Native/Cocoa/NativeDevice.cs @@ -14,6 +14,8 @@ public class NativeDevice : IDevice private const string MODEL_KEY = "model"; private const string OS_NAME_KEY = "osName"; private const string OS_VERSION_KEY = "osVersion"; + private const string MODEL_NUMBER_KEY = "modelNumber"; + private const string TOTAL_MEMORY_KEY = "totalMemory"; internal NativePayloadClassWrapper NativeWrapper; @@ -25,11 +27,9 @@ public NativeDevice(IntPtr nativeDevice) public string BrowserName { get; set; } public string BrowserVersion { get; set; } public string[] CpuAbi { get; set; } - public long? TotalMemory { get; set; } + public long? TotalMemory {get => NativeWrapper.GetNativeLong(TOTAL_MEMORY_KEY); set => NativeWrapper.SetNativeLong(TOTAL_MEMORY_KEY, value); } public string UserAgent { get; set; } - public string ModelNumber { get; set; } - - + public string ModelNumber { get => NativeWrapper.GetNativeString(MODEL_NUMBER_KEY); set => NativeWrapper.SetNativeString(MODEL_NUMBER_KEY,value); } public string Id { get => NativeWrapper.GetNativeString(ID_KEY); set => NativeWrapper.SetNativeString(ID_KEY,value); } public bool? Jailbroken { get => NativeWrapper.GetNativeBool(JAIL_BROKEN_KEY); set => NativeWrapper.SetNativeBool(JAIL_BROKEN_KEY, value); } From 9d8f31d7cb92aa20804a30f92127445b1396fed8 Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Fri, 26 Apr 2024 14:58:43 +0100 Subject: [PATCH 40/54] Move all tests running on MacOS 12 to MacOS 14 (#794) --- .buildkite/pipeline.full.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 7db7b9d58..af92bd960 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -88,7 +88,7 @@ steps: timeout_in_minutes: 60 depends_on: "cocoa-webgl-2020-fixtures" agents: - queue: macos-12-arm + queue: macos-14 env: UNITY_VERSION: *2020 plugins: @@ -124,7 +124,7 @@ steps: timeout_in_minutes: 60 depends_on: 'cocoa-webgl-2022-fixtures' agents: - queue: macos-12-arm + queue: macos-14 env: UNITY_VERSION: *2022 plugins: From d0b622b9f9a7d1dde16bff7f41e66ea5df5fab63 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 19 Apr 2024 12:35:19 +0100 Subject: [PATCH 41/54] Use the newest artefacts plugin --- .buildkite/pipeline.full.yml | 74 ++++++++++++++++++------------------ .buildkite/pipeline.yml | 2 +- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index c8e085e39..b525acd21 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -25,7 +25,7 @@ steps: # Python2 needed for WebGL to build EMSDK_PYTHON: "/Library/Frameworks/Python.framework/Versions/2.7/bin/python" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage commands: @@ -47,7 +47,7 @@ steps: UNITY_VERSION: *2021 XCODE_VERSION: "15.3.0" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage commands: @@ -69,7 +69,7 @@ steps: UNITY_VERSION: *2022 XCODE_VERSION: "15.3.0" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage commands: @@ -91,7 +91,7 @@ steps: UNITY_VERSION: *2023 XCODE_VERSION: "15.3.0" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage commands: @@ -116,7 +116,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/MacOS-2020.3.48f1.zip upload: @@ -135,7 +135,7 @@ steps: # env: # UNITY_VERSION: *2021 # plugins: - # artifacts#v1.5.0: + # artifacts#v1.9.0: # download: # - features/fixtures/maze_runner/build/MacOS-2021.3.36f1.zip # upload: @@ -152,7 +152,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/MacOS-2022.3.22f1.zip upload: @@ -169,7 +169,7 @@ steps: env: UNITY_VERSION: *2023 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/MacOS-2023.2.17f1.zip upload: @@ -191,7 +191,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/WebGL-2020.3.48f1.zip upload: @@ -209,7 +209,7 @@ steps: # env: # UNITY_VERSION: *2021 # plugins: - # artifacts#v1.5.0: + # artifacts#v1.9.0: # download: # - features/fixtures/maze_runner/build/WebGL-2021.3.36f1.zip # upload: @@ -226,7 +226,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/WebGL-2022.3.22f1.zip upload: @@ -243,7 +243,7 @@ steps: env: UNITY_VERSION: *2023 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/WebGL-2023.2.17f1.zip upload: @@ -262,7 +262,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -283,7 +283,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -304,7 +304,7 @@ steps: env: UNITY_VERSION: *2023 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -325,7 +325,7 @@ steps: # env: # UNITY_VERSION: *2020 # plugins: - # artifacts#v1.5.0: + # artifacts#v1.9.0: # download: # - Bugsnag.unitypackage # upload: @@ -351,7 +351,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.apk" upload: @@ -383,7 +383,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.apk" upload: @@ -415,7 +415,7 @@ steps: env: UNITY_VERSION: *2023 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk" upload: @@ -447,7 +447,7 @@ steps: # env: # UNITY_VERSION: *2021 # plugins: - # artifacts#v1.5.0: + # artifacts#v1.9.0: # download: # - "features/fixtures/EDM_Fixture/edm_2020.3.48f1.apk" # upload: @@ -474,7 +474,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -497,7 +497,7 @@ steps: XCODE_VERSION: "15.3.0" UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage - project_2020.tgz @@ -520,7 +520,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -543,7 +543,7 @@ steps: UNITY_VERSION: *2022 XCODE_VERSION: "15.3.0" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage - project_2022.tgz @@ -566,7 +566,7 @@ steps: env: UNITY_VERSION: *2023 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -589,7 +589,7 @@ steps: UNITY_VERSION: *2023 XCODE_VERSION: "15.3.0" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage - project_2023.tgz @@ -614,7 +614,7 @@ steps: agents: queue: opensource plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2020.3.48f1.ipa" upload: @@ -644,7 +644,7 @@ steps: agents: queue: opensource plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2022.3.22f1.ipa" upload: @@ -674,7 +674,7 @@ steps: agents: queue: opensource plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa" upload: @@ -710,7 +710,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -734,7 +734,7 @@ steps: commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -757,7 +757,7 @@ steps: commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -780,7 +780,7 @@ steps: commands: - scripts/ci-build-windows-fixture-wsl.sh plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: @@ -803,7 +803,7 @@ steps: env: UNITY_VERSION: *2020 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/Windows-2020.3.48f1.zip upload: @@ -821,7 +821,7 @@ steps: env: UNITY_VERSION: *2021 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/Windows-2021.3.36f1.zip upload: @@ -838,7 +838,7 @@ steps: env: UNITY_VERSION: *2022 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/Windows-2022.3.22f1.zip upload: @@ -855,7 +855,7 @@ steps: env: UNITY_VERSION: "2023.2.15f1" plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - features/fixtures/maze_runner/build/Windows-2023.2.15f1.zip upload: diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4845fbbbc..3afb65356 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -63,7 +63,7 @@ steps: env: UNITY_VERSION: *2021 plugins: - artifacts#v1.5.0: + artifacts#v1.9.0: download: - Bugsnag.unitypackage upload: From 89e1ba410968f6c44ca6274326731d13f1d46900 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 26 Apr 2024 19:39:03 +0100 Subject: [PATCH 42/54] Skip Unity 2023 on Windows --- .buildkite/pipeline.full.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index b525acd21..9857adf01 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -770,6 +770,7 @@ steps: limit: 1 - label: Build Unity 2023 Windows test fixture + skip: Pending PLAT-12072 timeout_in_minutes: 30 key: "windows-2023-fixture" depends_on: "build-artifacts" @@ -848,6 +849,7 @@ steps: - scripts/ci-run-windows-tests-wsl.sh - label: Run Windows e2e tests for Unity 2023 + skip: Pending PLAT-12072 timeout_in_minutes: 30 depends_on: "windows-2023-fixture" agents: From b6782fe51797a6ad4df317121b1bd64185edb87c Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 26 Apr 2024 20:04:21 +0100 Subject: [PATCH 43/54] Correct artefact names [full ci] --- .buildkite/pipeline.full.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index c6b7fbc60..78310a520 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -98,8 +98,8 @@ steps: - scripts/ci-build-macos-packages.sh artifact_paths: - unity.log - - features/fixtures/maze_runner/build/MacOS-2023.2.17f1.zip - - features/fixtures/maze_runner/build/WebGL-2023.2.17f1.zip + - features/fixtures/maze_runner/build/MacOS-2023.zip + - features/fixtures/maze_runner/build/WebGL-2023.zip retry: automatic: - exit_status: "*" @@ -171,7 +171,7 @@ steps: plugins: artifacts#v1.9.0: download: - - features/fixtures/maze_runner/build/MacOS-2023.2.17f1.zip + - features/fixtures/maze_runner/build/MacOS-2023.zip upload: - maze_output/**/* - '*-mazerunner.log' @@ -245,7 +245,7 @@ steps: plugins: artifacts#v1.9.0: download: - - features/fixtures/maze_runner/build/WebGL-2023.2.17f1.zip + - features/fixtures/maze_runner/build/WebGL-2023.zip upload: - maze_output/**/* # TODO: WebGL persistence tests are currently skipped pending PLAT-8151 @@ -308,7 +308,7 @@ steps: download: - Bugsnag.unitypackage upload: - - features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk + - features/fixtures/maze_runner/mazerunner_2023.apk - features/fixtures/build_android_apk.log commands: - bundle install @@ -417,7 +417,7 @@ steps: plugins: artifacts#v1.9.0: download: - - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk" + - "features/fixtures/maze_runner/mazerunner_2023.apk" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -428,7 +428,7 @@ steps: command: - "features/csharp" - "features/android" - - "--app=features/fixtures/maze_runner/mazerunner_2023.2.17f1.apk" + - "--app=features/fixtures/maze_runner/mazerunner_2023.apk" - "--farm=bb" - "--appium-version=1.22" - "--device=ANDROID_10|ANDROID_11|ANDROID_12|ANDROID_13" @@ -594,7 +594,7 @@ steps: - Bugsnag.unitypackage - project_2023.tgz upload: - - features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa + - features/fixtures/maze_runner/mazerunner_2023.ipa - features/fixtures/unity.log commands: - bundle install @@ -676,7 +676,7 @@ steps: plugins: artifacts#v1.9.0: download: - - "features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa" + - "features/fixtures/maze_runner/mazerunner_2023.ipa" upload: - "maze_output/**/*" - "maze_output/metrics.csv" @@ -687,7 +687,7 @@ steps: command: - "features/csharp" - "features/ios" - - "--app=features/fixtures/maze_runner/mazerunner_2023.2.17f1.ipa" + - "--app=features/fixtures/maze_runner/mazerunner_2023.ipa" - "--farm=bb" - "--appium-version=1.22" - "--device=IOS_13|IOS_14|IOS_15" @@ -787,7 +787,7 @@ steps: upload: - unity.log - unity_import.log - - features/fixtures/maze_runner/build/Windows-2023.2.17f1.zip + - features/fixtures/maze_runner/build/Windows-2023.zip retry: automatic: - exit_status: "*" @@ -855,11 +855,11 @@ steps: agents: queue: windows-general-wsl env: - UNITY_VERSION: "2023.2.15f1" + UNITY_VERSION: *2023 plugins: artifacts#v1.9.0: download: - - features/fixtures/maze_runner/build/Windows-2023.2.15f1.zip + - features/fixtures/maze_runner/build/Windows-2023.zip upload: - maze_output/**/* - maze_output/metrics.csv From ba428735e2baef3ee8ce10c1277a9929449bfa9f Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 2 May 2024 09:36:47 +0200 Subject: [PATCH 44/54] Release v7.7.5 --- CHANGELOG.md | 4 ++-- build.cake | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 881b2fcf8..f5e3f3cf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,12 @@ # Changelog -## TBD +## 7.7.5 (2024-05-02) ### Bug Fixes - Fixed issue where changes to device.TotalMemory and device.ModelNumber in cocoa on send callbacks were not respected. [#793](https://github.com/bugsnag/bugsnag-unity/pull/793) -## 7.7.4 (2024-05-19) +## 7.7.4 (2024-04-19) ### Bug Fixes diff --git a/build.cake b/build.cake index 5b2dc12c1..327ccfa42 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.4"; +var version = "7.7.5"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); From 6f1cb44805ec9749aa6d31ed75e969b3fde192b4 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 10 May 2024 12:13:25 +0200 Subject: [PATCH 45/54] PLAT-12109 add bugsnag integity header (#797) * header ready for testing * env update --- features/support/env.rb | 2 -- src/BugsnagUnity/Delivery.cs | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/features/support/env.rb b/features/support/env.rb index 7f55fd1b7..d3ac761bf 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -64,8 +64,6 @@ BeforeAll do $api_key = 'a35a2a72bd230ac0aa0f52715bbdc6aa' - Maze.config.enforce_bugsnag_integrity = false - if Maze.config.os&.downcase == 'macos' # The default macOS Crash Reporter "#{app_name} quit unexpectedly" alert grabs focus which can cause tests to flake. # This option, which appears to have been introduced in macOS 10.11, displays a notification instead of the alert. diff --git a/src/BugsnagUnity/Delivery.cs b/src/BugsnagUnity/Delivery.cs index 2057f387f..55b8601fd 100644 --- a/src/BugsnagUnity/Delivery.cs +++ b/src/BugsnagUnity/Delivery.cs @@ -9,6 +9,7 @@ using BugsnagUnity.Payload; using UnityEngine; using UnityEngine.Networking; +using System.Security.Cryptography; namespace BugsnagUnity { @@ -187,6 +188,8 @@ IEnumerator PushToServer(IPayload payload) { req.SetRequestHeader("Content-Type", "application/json"); req.SetRequestHeader("Bugsnag-Sent-At", DateTimeOffset.Now.ToString("o", CultureInfo.InvariantCulture)); + req.SetRequestHeader("Bugsnag-Integrity", "sha1 " + Hash(body)); + foreach (var header in payload.Headers) { req.SetRequestHeader(header.Key, header.Value); @@ -278,6 +281,20 @@ private byte[] PrepareEventBodySimple(IPayload payload) return serialisedPayload; } + private string Hash(byte[] input) + { + using (SHA1Managed sha1 = new SHA1Managed()) + { + var hash = sha1.ComputeHash(input); + var sb = new StringBuilder(hash.Length * 2); + foreach (byte b in hash) + { + sb.Append(b.ToString("x2")); + } + return sb.ToString(); + } + } + private bool TruncateBreadcrumbs(Dictionary @event, int bytesToRemove) { var breadcrumbsList = (@event[EVENT_KEY_BREADCRUMBS] as Dictionary[]).ToList(); From dece47cd34a6a87c1f2c0945048768620d02ae18 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Mon, 13 May 2024 13:33:37 +0100 Subject: [PATCH 46/54] Bump 2023 tests [full ci] --- .buildkite/pipeline.full.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 78310a520..0f0edebbe 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -2,7 +2,7 @@ aliases: - &2020 "2020.3.48f1" - &2021 "2021.3.36f1" - &2022 "2022.3.22f1" - - &2023 "2023.2.17f1" + - &2023 "2023.2.19f1" agents: From 9270ef97c03485ace0f917f2de25810cb05a50ad Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Wed, 15 May 2024 10:42:31 +0100 Subject: [PATCH 47/54] Move WebGL tests from MacOS 11 boxes to MacOS 14 (#799) * Update pipelines to run webgl tests on more recent MacOS boxes * Add retry condition to webgl tests * Use correct syntax for selective retries * Use the correct kind of hook * Debugging * Use the correct comparison for retrying --- .buildkite/pipeline.full.yml | 6 ------ features/support/env.rb | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 0f0edebbe..0669c7f46 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -186,8 +186,6 @@ steps: - label: Run WebGL e2e tests for Unity 2020 timeout_in_minutes: 30 depends_on: "cocoa-webgl-2020-fixtures" - agents: - queue: opensource-mac-cocoa-11 env: UNITY_VERSION: *2020 plugins: @@ -221,8 +219,6 @@ steps: - label: Run WebGL e2e tests for Unity 2022 timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2022-fixtures' - agents: - queue: opensource-mac-cocoa-11 env: UNITY_VERSION: *2022 plugins: @@ -238,8 +234,6 @@ steps: - label: Run WebGL e2e tests for Unity 2023 timeout_in_minutes: 30 depends_on: 'cocoa-webgl-2023-fixtures' - agents: - queue: opensource-mac-cocoa-11 env: UNITY_VERSION: *2023 plugins: diff --git a/features/support/env.rb b/features/support/env.rb index d3ac761bf..dc450ff05 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -111,6 +111,14 @@ end end +Before do |scenario| + # Detect if we're running the webgl tests + if Maze.config.farm.to_s.eql?('local') + # Allows each scenario to auto retry once due to instability in the local browser + scenario.tags << Cucumber::Core::Test::Tag.new(nil, '@retry') + end +end + After do |scenario| next if scenario.status == :skipped From a9cf1720e9705e51393d4f880e21b69ec9c82706 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 17 May 2024 13:44:21 +0200 Subject: [PATCH 48/54] Fix for unity meta bundle bug (#802) * specify older version when building UPM package * ensure unity 2019 usage * changelog --- CHANGELOG.md | 6 ++++++ upm-tools/build-upm-package.sh | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5e3f3cf1..058a65570 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## TBD () + +### Bug Fixes + +- Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) + ## 7.7.5 (2024-05-02) ### Bug Fixes diff --git a/upm-tools/build-upm-package.sh b/upm-tools/build-upm-package.sh index 521631964..52b03f926 100755 --- a/upm-tools/build-upm-package.sh +++ b/upm-tools/build-upm-package.sh @@ -16,13 +16,22 @@ fi VERSION=$1 -if [ -z "$UNITY_VERSION" ] +if [ -z "$UNITY_UPM_VERSION" ] then - echo "UNITY_VERSION must be set" + echo "UNITY_UPM_VERSION must be set" exit 1 fi -UNITY_PATH="/Applications/Unity/Hub/Editor/$UNITY_VERSION/Unity.app/Contents/MacOS" +#There is a bug in some versions of unity 2020, 2021 and 2022 where macos bundles will not be imported as a single plugin file. +#In which case all sub dirs and files must have .meta files to work with UPM. +#Building the UPM package with unity 2019 ensures that the meta files are created + +if [[ "$UNITY_UPM_VERSION" != *"2019"* ]]; then + echo "ERROR: UNITY_UPM_VERSION must be a version of Unity 2019. See script comments for details." + exit 1 +fi + +UNITY_PATH="/Applications/Unity/Hub/Editor/$UNITY_UPM_VERSION/Unity.app/Contents/MacOS" From 16bbec0146b1f167c0d9e4830a4b3fd29abda578 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 17 May 2024 13:46:55 +0200 Subject: [PATCH 49/54] Release v7.7.6 --- CHANGELOG.md | 2 +- build.cake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 058a65570..e1f8f1d81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## TBD () -### Bug Fixes +## 7.7.6 (2024-05-17) - Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) diff --git a/build.cake b/build.cake index 327ccfa42..f85a1a27f 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.5"; +var version = "7.7.6"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); From f3f0768bf2e5a19eb4ceb42fe7f03f162afcb012 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 17 May 2024 13:47:51 +0200 Subject: [PATCH 50/54] typo --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f8f1d81..447772331 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,5 @@ # Changelog -## TBD () - ## 7.7.6 (2024-05-17) - Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) From f858540b8aa9f391e2165b35bdeb5dbacae8b2a7 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 17 May 2024 14:40:27 +0200 Subject: [PATCH 51/54] Hotfix release v7.7.6 --- CHANGELOG.md | 5 +++++ build.cake | 2 +- upm-tools/build-upm-package.sh | 17 +++++++++++++---- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5e3f3cf1..265c1da97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 7.7.6 (2024-05-17) + +- Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) + + ## 7.7.5 (2024-05-02) ### Bug Fixes diff --git a/build.cake b/build.cake index 327ccfa42..f85a1a27f 100644 --- a/build.cake +++ b/build.cake @@ -5,7 +5,7 @@ var target = Argument("target", "Default"); var solution = File("./BugsnagUnity.sln"); var configuration = Argument("configuration", "Release"); var project = File("./src/BugsnagUnity/BugsnagUnity.csproj"); -var version = "7.7.5"; +var version = "7.7.6"; Task("Restore-NuGet-Packages") .Does(() => NuGetRestore(solution)); diff --git a/upm-tools/build-upm-package.sh b/upm-tools/build-upm-package.sh index 521631964..7fa5c334b 100755 --- a/upm-tools/build-upm-package.sh +++ b/upm-tools/build-upm-package.sh @@ -16,13 +16,22 @@ fi VERSION=$1 -if [ -z "$UNITY_VERSION" ] +if [ -z "$UNITY_UPM_VERSION" ] then - echo "UNITY_VERSION must be set" + echo "UNITY_UPM_VERSION must be set" exit 1 fi -UNITY_PATH="/Applications/Unity/Hub/Editor/$UNITY_VERSION/Unity.app/Contents/MacOS" +#There is a bug in some versions of unity 2020, 2021 and 2022 where macos bundles will not be imported as a single plugin file. +#In which case all sub dirs and files must have .meta files to work with UPM. +#Building the UPM package with unity 2019 ensures that the meta files are created + +if [[ "$UNITY_UPM_VERSION" != *"2019"* ]]; then + echo "ERROR: UNITY_UPM_VERSION must be a version of Unity 2019. See script comments for details." + exit 1 +fi + +UNITY_PATH="/Applications/Unity/Hub/Editor/$UNITY_UPM_VERSION/Unity.app/Contents/MacOS" @@ -72,4 +81,4 @@ sed -i '' "s/VERSION_STRING/$VERSION/g" "$PACKAGE_DIR/package.json" sed -i '' "s/VERSION_STRING/v$VERSION/g" "$PACKAGE_DIR/README.md" -echo "complete, ready to deploy" +echo "complete, ready to deploy" \ No newline at end of file From 7c13017bc38d91b917cb0a23c87cc7f00d094469 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 30 May 2024 10:52:33 +0200 Subject: [PATCH 52/54] Changelog update --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 447772331..74f274675 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## TBD () + +### Enhancements + +- Added the `Bugsnag-Integrity` header to outgoing Bugsnag requests. [#797](https://github.com/bugsnag/bugsnag-unity/pull/797) + ## 7.7.6 (2024-05-17) - Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) From 755567f6ca7cf2ce5d90f4760493a8a71b01e830 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Thu, 30 May 2024 17:05:52 +0200 Subject: [PATCH 53/54] fix for flakes caused by accidental OOM errors reporting during iOS tests (#805) --- features/fixtures/maze_runner/Assets/Scripts/Scenario.cs | 4 ++++ .../Scenarios/Csharp/Persistence/CorruptedCacheFile.cs | 4 ---- .../Scripts/Scenarios/Csharp/Persistence/MaxPersistEvents.cs | 4 ---- .../Scripts/Scenarios/Csharp/Persistence/PersistDeviceId.cs | 4 ---- .../Scripts/Scenarios/Csharp/Persistence/PersistEvent.cs | 4 ---- .../Scenarios/Csharp/Persistence/PersistEventReport.cs | 4 ---- .../Csharp/Persistence/PersistEventReportCallback.cs | 4 ---- .../Scenarios/Csharp/Persistence/ReportMaxPersistedEvents.cs | 4 ---- features/ios/ios_native_errors.feature | 3 +-- 9 files changed, 5 insertions(+), 30 deletions(-) diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenario.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenario.cs index cb70f5e41..f124b5a58 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenario.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenario.cs @@ -38,6 +38,10 @@ public virtual void PrepareConfig(string apiKey, string host) Configuration.DotnetScriptingRuntime = FindDotnetScriptingRuntime(); Configuration.DotnetApiCompatibility = FindDotnetApiCompatibility(); Configuration.AutoTrackSessions = false; + if (Application.platform == RuntimePlatform.IPhonePlayer) + { + Configuration.EnabledErrorTypes.OOMs = false; + } } public void AddSwitchConfigValues(SwitchCacheType switchCacheType, int switchCacheIndex, string switchMountName) diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs index 3f5df4a53..161f20241 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/CorruptedCacheFile.cs @@ -9,10 +9,6 @@ public class CorruptedCacheFile : Scenario public override void PrepareConfig(string apiKey, string host) { base.PrepareConfig(apiKey, host); - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/MaxPersistEvents.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/MaxPersistEvents.cs index 9023134f6..6e744c32a 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/MaxPersistEvents.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/MaxPersistEvents.cs @@ -9,10 +9,6 @@ public override void PrepareConfig(string apiKey, string host) { base.PrepareConfig(apiKey, host); Configuration.MaxPersistedEvents = 3; - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistDeviceId.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistDeviceId.cs index 49fc9f75a..fe3bdb812 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistDeviceId.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistDeviceId.cs @@ -5,10 +5,6 @@ public class PersistDeviceId : Scenario public override void PrepareConfig(string apiKey, string host) { base.PrepareConfig(apiKey, host); - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEvent.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEvent.cs index 039d3c9b9..02f553ed8 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEvent.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEvent.cs @@ -6,10 +6,6 @@ public override void PrepareConfig(string apiKey, string host) { base.PrepareConfig(apiKey, host); Configuration.Context = "Error 1"; - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReport.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReport.cs index 8f7206ce3..b55201d45 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReport.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReport.cs @@ -6,10 +6,6 @@ public override void PrepareConfig(string apiKey, string host) { base.PrepareConfig(apiKey, host); Configuration.Context = "Error 2"; - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReportCallback.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReportCallback.cs index 1764b9297..cc7397822 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReportCallback.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/PersistEventReportCallback.cs @@ -26,10 +26,6 @@ public override void PrepareConfig(string apiKey, string host) return true; }); - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } public override void Run() diff --git a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/ReportMaxPersistedEvents.cs b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/ReportMaxPersistedEvents.cs index 7a22bdbda..474a28579 100644 --- a/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/ReportMaxPersistedEvents.cs +++ b/features/fixtures/maze_runner/Assets/Scripts/Scenarios/Csharp/Persistence/ReportMaxPersistedEvents.cs @@ -10,10 +10,6 @@ public override void PrepareConfig(string apiKey, string host) { _eventsCorrect = CheckForEvents(); base.PrepareConfig(apiKey, host); - if (Application.platform == RuntimePlatform.IPhonePlayer) - { - Configuration.EnabledErrorTypes.OOMs = false; - } } private bool CheckForEvents() diff --git a/features/ios/ios_native_errors.feature b/features/ios/ios_native_errors.feature index 9d6ed2a8e..1a1ebd2fc 100644 --- a/features/ios/ios_native_errors.feature +++ b/features/ios/ios_native_errors.feature @@ -8,8 +8,7 @@ Feature: iOS Native Errors And I wait for 2 seconds And On Mobile I relaunch the app And I run the game in the "StartSDKDefault" state - And I wait to receive an error - And the exception "message" equals "The app was likely terminated by the operating system while in the foreground" + And I should receive no errors Scenario: Last Run Info When I run the game in the "IosNativeException" state From 1f70a4117405ac7ecdcd00ea53b63f1da5273a9f Mon Sep 17 00:00:00 2001 From: Christian Rafferty <38156512+clr182@users.noreply.github.com> Date: Fri, 31 May 2024 07:14:32 +0100 Subject: [PATCH 54/54] Handle null status of client (#788) --- CHANGELOG.md | 5 +++++ src/BugsnagUnity/Bugsnag.cs | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74f274675..f55e525f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ - Added the `Bugsnag-Integrity` header to outgoing Bugsnag requests. [#797](https://github.com/bugsnag/bugsnag-unity/pull/797) +### Bug Fixes + +- Added more null reference checking to the Bugsnag client to prevent crashes when accessing the client before it has been initialised [#788](https://github.com/bugsnag/bugsnag-unity/pull/788) + ## 7.7.6 (2024-05-17) - Fixed issue where meta files for the MacOS bundle were not generated. [#802](https://github.com/bugsnag/bugsnag-unity/pull/802) @@ -22,6 +26,7 @@ - Fixed issue where iOS C# events reported the incorrect value for device.osName. [#791](https://github.com/bugsnag/bugsnag-unity/pull/791) + ## 7.7.3 (2024-04-11) ### Bug Fixes diff --git a/src/BugsnagUnity/Bugsnag.cs b/src/BugsnagUnity/Bugsnag.cs index 065e8c06a..8a4df502c 100644 --- a/src/BugsnagUnity/Bugsnag.cs +++ b/src/BugsnagUnity/Bugsnag.cs @@ -71,7 +71,13 @@ public static bool IsStarted() /// the tracking of in foreground time for the application. /// /// - public static void SetApplicationState(bool inFocus) => Client.SetApplicationState(inFocus); + public static void SetApplicationState(bool inFocus) + { + if(Client != null) + { + Client.SetApplicationState(inFocus); + } + } /// /// Bugsnag uses the concept of contexts to help display and group your errors.