Skip to content

Commit

Permalink
Merge pull request #521 from bugsnag/next
Browse files Browse the repository at this point in the history
Release v6.2.0
  • Loading branch information
rich-bugsnag authored Mar 16, 2022
2 parents eec29a0 + db612de commit f9fa410
Show file tree
Hide file tree
Showing 82 changed files with 1,598 additions and 1,337 deletions.
253 changes: 115 additions & 138 deletions .buildkite/pipeline.full.yml

Large diffs are not rendered by default.

108 changes: 51 additions & 57 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
agents:
queue: opensource-arm-mac-cocoa-12

steps:

#
# Build notifier. We run tests for all Unity versions with the 2018 artifacts, as that is what we ship.
#
- label: Build notifier artifacts
key: 'build-artifacts'
timeout_in_minutes: 30
agents:
queue: opensource-mac-unity
key: 'build-artifacts'
env:
UNITY_VERSION: "2018.4.36f1"
commands:
Expand All @@ -20,23 +21,21 @@ steps:
# Build MacOS and WebGL test fixtures
#
- label: Build Unity 2020 MacOS and WebGL test fixtures
timeout_in_minutes: 30
key: 'cocoa-webgl-2020-fixtures'
depends_on: 'build-artifacts'
timeout_in_minutes: 30
agents:
queue: opensource-mac-unity
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- Bugsnag.unitypackage
commands:
- scripts/ci-build-macos-packages.sh
artifact_paths:
- unity.log
- features/fixtures/maze_runner/build/MacOS-2020.3.25f1.zip
- features/fixtures/maze_runner/build/WebGL-2020.3.25f1.zip
- features/fixtures/maze_runner/build/MacOS-2020.3.28f1.zip
- features/fixtures/maze_runner/build/WebGL-2020.3.28f1.zip
retry:
automatic:
- exit_status: -1 # Agent was lost
Expand All @@ -47,58 +46,57 @@ steps:
# Run desktop tests
#
- label: Run MacOS e2e tests for Unity 2020
depends_on: 'cocoa-webgl-2020-fixtures'
timeout_in_minutes: 30
agents:
queue: opensource-mac-cocoa-11
depends_on: 'cocoa-webgl-2020-fixtures'
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- features/fixtures/maze_runner/build/MacOS-2020.3.25f1.zip
- features/fixtures/maze_runner/build/MacOS-2020.3.28f1.zip
upload:
- maze_output/*
- maze_output/**/*
- Mazerunner.log
commands:
- scripts/ci-run-macos-tests.sh

#
# Run WebGL tests
#
# Note: These are run on Intel due to an issue with persistence with Firefox on ARM.
#
- label: Run WebGL e2e tests for Unity 2020
depends_on: 'cocoa-webgl-2020-fixtures'
timeout_in_minutes: 30
depends_on: 'cocoa-webgl-2020-fixtures'
agents:
queue: opensource-mac-cocoa-11
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- features/fixtures/maze_runner/build/WebGL-2020.3.25f1.zip
- features/fixtures/maze_runner/build/WebGL-2020.3.28f1.zip
upload:
- maze_output/failed/**/*
- maze_output/**/*
# TODO: WebGL persistence tests are currently skipped pending PLAT-8151
commands:
- scripts/ci-run-webgl-tests.sh

#
# Build Android test fixtures
#
- label: ':android: Build Android test fixture for Unity 2020'
timeout_in_minutes: 30
key: 'build-android-fixture-2020'
depends_on: 'build-artifacts'
timeout_in_minutes: 30
agents:
queue: opensource-mac-unity
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- Bugsnag.unitypackage
upload:
- features/fixtures/maze_runner/mazerunner_2020.3.25f1.apk
- features/fixtures/maze_runner/mazerunner_2020.3.28f1.apk
- features/fixtures/unity.log
commands:
- rake test:android:build
Expand All @@ -113,23 +111,23 @@ steps:
# Run Android tests
#
- label: ':android: Run Android e2e tests for Unity 2020'
depends_on: 'build-android-fixture-2020'
timeout_in_minutes: 30
depends_on: 'build-android-fixture-2020'
agents:
queue: opensource
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.3.0:
artifacts#v1.5.0:
download:
- "features/fixtures/maze_runner/mazerunner_2020.3.25f1.apk"
- "features/fixtures/maze_runner/mazerunner_2020.3.28f1.apk"
upload:
- "maze_output/failed/**/*"
- "maze_output/**/*"
docker-compose#v3.7.0:
pull: maze-runner
run: maze-runner
command:
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.25f1.apk"
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.28f1.apk"
- "--farm=bs"
- "--device=ANDROID_9_0"
- "features/android"
Expand All @@ -141,19 +139,16 @@ steps:
# Build iOS test fixtures
#
- label: ':ios: Generate Xcode project - Unity 2020'
timeout_in_minutes: 30
key: 'generate-fixture-project-2020'
depends_on: 'build-artifacts'
timeout_in_minutes: 30
agents:
queue: opensource-mac-unity
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- Bugsnag.unitypackage
upload:
- features/fixtures/maze_runner/mazerunner_2020.3.25f1.ipa
- features/fixtures/unity.log
- project_2020.tgz
commands:
Expand All @@ -167,20 +162,18 @@ steps:
limit: 1

- label: ':ios: Build iOS test fixture for Unity 2020'
timeout_in_minutes: 30
key: 'build-ios-fixture-2020'
depends_on: 'generate-fixture-project-2020'
timeout_in_minutes: 30
agents:
queue: opensource-mac-cocoa-11
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
plugins:
artifacts#v1.2.0:
artifacts#v1.5.0:
download:
- Bugsnag.unitypackage
- project_2020.tgz
upload:
- features/fixtures/maze_runner/mazerunner_2020.3.25f1.ipa
- features/fixtures/maze_runner/mazerunner_2020.3.28f1.ipa
- features/fixtures/unity.log
commands:
- tar -zxf project_2020.tgz features/fixtures/maze_runner
Expand All @@ -196,21 +189,21 @@ steps:
# Run iOS tests
#
- label: ':ios: Run iOS e2e tests for Unity 2020'
depends_on: 'build-ios-fixture-2020'
timeout_in_minutes: 30
depends_on: 'build-ios-fixture-2020'
agents:
queue: opensource
plugins:
artifacts#v1.3.0:
artifacts#v1.5.0:
download:
- "features/fixtures/maze_runner/mazerunner_2020.3.25f1.ipa"
- "features/fixtures/maze_runner/mazerunner_2020.3.28f1.ipa"
upload:
- "maze_output/failed/**/*"
- "maze_output/**/*"
docker-compose#v3.7.0:
pull: maze-runner
run: maze-runner
command:
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.25f1.ipa"
- "--app=/app/features/fixtures/maze_runner/mazerunner_2020.3.28f1.ipa"
- "--farm=bs"
- "--device=IOS_14"
- "--fail-fast"
Expand All @@ -223,18 +216,18 @@ steps:
# Build Windows test fixture
#
- label: Build Unity 2020 Windows test fixture
timeout_in_minutes: 30
key: 'windows-2020-fixture'
depends_on: 'build-artifacts'
timeout_in_minutes: 30
agents:
queue: opensource-windows-unity
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
commands:
- scripts/ci-build-windows-package.bat
artifact_paths:
- unity.log
- features/fixtures/maze_runner/build/Windows-2020.3.25f1.zip
- features/fixtures/maze_runner/build/Windows-2020.3.28f1.zip
retry:
automatic:
- exit_status: -1 # Agent was lost
Expand All @@ -246,20 +239,21 @@ steps:
# Run Windows e2e tests
#
- label: Run Windows e2e tests for Unity 2020
depends_on: 'windows-2020-fixture'
timeout_in_minutes: 30
depends_on: 'windows-2020-fixture'
agents:
queue: opensource-windows-unity
env:
UNITY_VERSION: "2020.3.25f1"
UNITY_VERSION: "2020.3.28f1"
command:
- scripts/ci-run-windows-tests.bat
artifact_paths:
- maze_output/failed/**/*
- maze_output/**/*

#
# Conditionally trigger full pipeline
#
- label: 'Conditionally trigger full set of tests'
timeout_in_minutes: 30
command: sh -c .buildkite/pipeline_trigger.sh

15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 6.2.0 (2022-03-16)

### Enhancements

* Added event, session and device id persistence for Windows and WebGL builds [#512](https://github.com/bugsnag/bugsnag-unity/pull/512) [#509](https://github.com/bugsnag/bugsnag-unity/pull/509) [#514](https://github.com/bugsnag/bugsnag-unity/pull/514)

* Add `Configuration.MaxReportedThreads` config option to set the [native Android option](https://docs.bugsnag.com/platforms/android/configuration-options/#maxreportedthreads) [523](https://github.com/bugsnag/bugsnag-unity/pull/523)

* Update bugsnag-android to v5.20.0
* The number of threads reported can now be limited using `Configuration.setMaxReportedThreads` (defaulting to 200)
[bugsnag-android#1607](https://github.com/bugsnag/bugsnag-android/pull/1607)
* Improved the performance and stability of the NDK and ANR plugins by caching JNI references on start
[bugsnag-android#1596](https://github.com/bugsnag/bugsnag-android/pull/1596)
[bugsnag-android#1601](https://github.com/bugsnag/bugsnag-android/pull/1601)

## 6.1.0 (2022-02-08)

### Enhancements
Expand Down
2 changes: 1 addition & 1 deletion UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ The following methods have been added to the `Bugsnag` client to replace direct
| `AddMetadata(string section, string key, object value)` | Add a specific value by key to a section of metadata |
| `AddMetadata(string section, Dictionary<string, object> metadata)` | Add a section by name to the metadata metadata |
| `ClearMetadata(string section)` | Clear a section of metadata |
| `ClearMetadataClearMetadata(string section, string key)` | Clear a specific entry in a metadata section by key |
| `ClearMetadata(string section, string key)` | Clear a specific entry in a metadata section by key |
| `Dictionary<string, object> GetMetadata(string section)` | Get an entire section from the metadata as a Dictionary |
| `object GetMetadata(string section, string key)` | Get an specific entry from the metadata as an object |

Expand Down
2 changes: 1 addition & 1 deletion bugsnag-android
Submodule bugsnag-android updated 30 files
+6 −2 .buildkite/pipeline.full.yml
+3 −1 .buildkite/pipeline.quick.yml
+2 −2 .buildkite/pipeline_trigger.sh
+11 −0 CHANGELOG.md
+1 −1 Gemfile
+13 −13 Gemfile.lock
+2 −2 bugsnag-android-core/detekt-baseline.xml
+91 −15 bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ThreadStateTest.kt
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/ConfigInternal.kt
+26 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/Configuration.java
+1 −1 bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.kt
+82 −28 bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadState.kt
+5 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadType.kt
+2 −0 bugsnag-android-core/src/main/java/com/bugsnag/android/internal/ImmutableConfig.kt
+0 −34 bugsnag-android-core/src/test/java/com/bugsnag/android/ThreadStateMissingTraceTest.kt
+155 −71 bugsnag-plugin-android-anr/src/main/jni/anr_handler.c
+81 −66 bugsnag-plugin-android-ndk/src/main/jni/bugsnag.c
+15 −22 bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c
+145 −256 bugsnag-plugin-android-ndk/src/main/jni/jni_cache.c
+56 −40 bugsnag-plugin-android-ndk/src/main/jni/jni_cache.h
+151 −161 bugsnag-plugin-android-ndk/src/main/jni/metadata.c
+5 −6 bugsnag-plugin-android-ndk/src/main/jni/metadata.h
+51 −12 bugsnag-plugin-android-ndk/src/main/jni/safejni.c
+1 −0 bugsnag-plugin-react-native/src/test/java/com/bugsnag/android/TestData.java
+1 −0 features/fixtures/mazerunner/jvm-scenarios/detekt-baseline.xml
+24 −0 .../jvm-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionMaxThreadsScenario.kt
+23 −0 ...vm-scenarios/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionMaxThreadsScenario.kt
+25 −0 features/full_tests/max_reported_threads.feature
+0 −2 features/steps/android_steps.rb
+1 −1 gradle.properties
2 changes: 1 addition & 1 deletion build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "6.1.0";
var version = "6.2.0";

Task("Restore-NuGet-Packages")
.Does(() => NuGetRestore(solution));
Expand Down
8 changes: 8 additions & 0 deletions features/android/android_custom_configs.feature
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,11 @@ Feature: Android custom config setting
When I run the "Custom App Type" mobile scenario
Then I wait to receive an error
And the event "app.type" equals "test"

Scenario: Max Reported Threads
When I run the "Max Reported Threads" mobile scenario
And I wait for 8 seconds
And I relaunch the Unity mobile app
When I run the "Start SDK" mobile scenario
Then I wait to receive an error
And the error payload field "events.0.threads" is an array with 3 elements
Loading

0 comments on commit f9fa410

Please sign in to comment.