Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v6.8.0 #2084

Merged
merged 42 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
0e0d2bd
move anr smoketests to bs
Aug 5, 2024
e2c9ab5
add bs creds to docker file;
Aug 5, 2024
20b1fb0
move anr smoketests to bs
Aug 5, 2024
91a794b
upload app to bs
Aug 5, 2024
8915403
upload app to bs
Aug 5, 2024
0509fda
add minimal and smoke anr to full
Aug 5, 2024
e751cee
add minimal and smoke anr to full
Aug 5, 2024
45509e4
[full ci]
Aug 5, 2024
8f13873
move full test anr to bs
Aug 5, 2024
07e2fed
move full test anr to bs
Aug 6, 2024
e8978b8
move full test anr to bs
Aug 6, 2024
0b7f138
move full test anr to bs
Aug 6, 2024
a2d93c3
move full test anr to bs
Aug 6, 2024
3dc6ea8
[full ci]
Aug 6, 2024
906c751
[full ci]
Aug 6, 2024
accb1d5
Merge branch 'next' into je/plat-12353-split-out-anr
joshedney Aug 6, 2024
68afe69
remove old anr features
Aug 6, 2024
9a46ed3
t pushMerge branch 'je/plat-12353-split-out-anr' of github.com:bugsna…
Aug 6, 2024
b3b5b68
remove skipping samsung devices for bs test
Aug 7, 2024
fb0f070
Merge branch 'next' into je/plat-12353-split-out-anr
joshedney Aug 7, 2024
7d0367d
Merge branch 'next' into je/plat-12353-split-out-anr
twometresteve Aug 7, 2024
3e7d8f4
Merge pull request #2068 from bugsnag/master
lemnik Aug 8, 2024
7b3bba1
Merge branch 'next' into je/plat-12353-split-out-anr
joshedney Aug 13, 2024
4a0bde0
Merge pull request #2065 from bugsnag/je/plat-12353-split-out-anr
joshedney Aug 13, 2024
2f5a951
feat(report): add AnrLinkError and NdkLinkError to metadata (#2070)
YYChen01988 Aug 16, 2024
87a3964
Remove Gemfile.lock
Aug 27, 2024
2b42f9e
Remove other Gemfile.lock
Aug 28, 2024
818e592
Merge pull request #2071 from bugsnag/tms/remove-lock
twometresteve Aug 29, 2024
08a23b5
Buildkite analytics trial
Sep 11, 2024
6499ba6
Integrate all jobs with Test Analytics
Sep 11, 2024
23d5c16
Only capture test analytic data on next and master
Sep 13, 2024
976cc53
Correct escape character
Sep 13, 2024
b6900df
Skip empty buildkite jobs
Sep 13, 2024
a61f15d
Merge pull request #2073 from bugsnag/tms/buildkite-analytics
twometresteve Sep 14, 2024
05f4c7b
fix(startup): flexible timeout for EventStore.flushOnLaunch toa void …
lemnik Sep 19, 2024
395e3f7
Merge pull request #2075 from bugsnag/PLAT-12697/flexible-startup-tim…
lemnik Sep 20, 2024
c5a1689
fix(startup): log clear message when launch crashes will be sent asyn…
lemnik Sep 25, 2024
971af4f
fix(launch): change the launch timeout calculation for synchronous de…
lemnik Sep 25, 2024
8074d55
Merge pull request #2080 from bugsnag/lemnik/startup-timeout-fixes
lemnik Sep 27, 2024
c88f726
fix(breadcrumb): work around NPEs from `Intent.getExtras` in Activity…
lemnik Sep 30, 2024
9f2add0
Merge pull request #2083 from bugsnag/PLAT-12834/ActivityBreadcrumbCo…
lemnik Sep 30, 2024
75e705d
release v6.8.0
YYChen01988 Sep 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
move full test anr to bs
  • Loading branch information
Josh Edney committed Aug 6, 2024
commit 0b7f138c0d2d576402a10498b5138420c9b53f97
33 changes: 33 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,7 @@ steps:
command:
- "features/full_tests"
- "--exclude=features/full_tests/[^a-k].*.feature"
- "--exclude=features/full_tests/anr.feature"
- "--app=@build/fixture-r21-url.txt"
- "--app-activity=com.bugsnag.android.mazerunner.MainActivity"
- "--app-package=com.bugsnag.android.mazerunner"
Expand All @@ -454,6 +455,37 @@ steps:
concurrency_group: 'bitbar'
concurrency_method: eager

- label: ':browserstack: Android 12 NDK r21 end-to-end tests - batch ANR'
depends_on:
- "fixture-r21"
timeout_in_minutes: 60
plugins:
artifacts#v1.9.0:
download:
- "build/bs-fixture-r21-url.txt"
- "build/fixture-r21/*"
upload:
- "maze_output/failed/**/*"
- "maze_output/metrics.csv"
docker-compose#v4.7.0:
pull: maze-runner
run: maze-runner
service-ports: true
command:
- "features/full_tests/anr.feature"
- "--app=@build/bs-fixture-r21-url.txt"
- "--app-activity=com.bugsnag.android.mazerunner.MainActivity"
- "--app-package=com.bugsnag.android.mazerunner"
- "--appium-version=1.22.0"
- "--farm=bs"
- "--device=ANDROID_12"
- "--fail-fast"
env:
TEST_FIXTURE_SYMBOL_DIR: "build/fixture-r21"
concurrency: 5
concurrency_group: 'browserstack-app'
concurrency_method: eager

- label: ':bitbar: Android 12 NDK r21 end-to-end tests - batch 2'
depends_on:
- "fixture-r21"
Expand All @@ -473,6 +505,7 @@ steps:
command:
- "features/full_tests"
- "--exclude=features/full_tests/[^l-z].*.feature"
- "--exclude=features/full_tests/anr.feature"
- "--app=@build/fixture-r21-url.txt"
- "--app-activity=com.bugsnag.android.mazerunner.MainActivity"
- "--app-package=com.bugsnag.android.mazerunner"
Expand Down
142 changes: 142 additions & 0 deletions features/full_tests/anr.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
Feature: ANRs triggered in CXX code are captured

Background:
Given I clear all persistent data

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in CXX code is captured
When I run "CXXAnrScenario"
And I wait for 2 seconds
And I tap the screen 3 times
Then I wait to receive an error
And the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the exception "errorClass" equals "ANR"
And the exception "message" starts with " Input dispatching timed out"
And the error "Bugsnag-Stacktrace-Types" header equals "android,c"
And the error payload field "events.0.exceptions.0.type" equals "android"
And the error payload field "events.0.exceptions.0.stacktrace.0.type" equals "c"
And the error payload field "events.0.threads.0.type" equals "android"
And the error payload field "events.0.threads.0.stacktrace.0.type" is null

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in CXX code is captured even when NDK detection is disabled
When I run "CXXAnrNdkDisabledScenario"
And I wait for 2 seconds
And I tap the screen 3 times
Then I wait to receive an error
And the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the exception "errorClass" equals "ANR"
And the exception "message" starts with " Input dispatching timed out"
And the error "Bugsnag-Stacktrace-Types" header equals "android"
And the error payload field "events.0.exceptions.0.type" equals "android"
And the error payload field "events.0.exceptions.0.stacktrace.0.type" is null
And the error payload field "events.0.threads.0.type" equals "android"
And the error payload field "events.0.threads.0.stacktrace.0.type" is null


Feature: ANRs triggered in JVM code are captured

Background:
Given I clear all persistent data

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in JVM loop code is captured
When I clear any error dialogue
And I run "JvmAnrLoopScenario"
And I wait for 2 seconds
And I tap the screen 3 times
Then I wait to receive an error
And the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the exception "errorClass" equals "ANR"
And the exception "message" starts with " Input dispatching timed out"
And the error "Bugsnag-Stacktrace-Types" header equals "android"
And the error payload field "events.0.exceptions.0.type" equals "android"
And the error payload field "events.0.exceptions.0.stacktrace.0.type" is null
And the error payload field "events.0.threads.0.type" equals "android"
And the error payload field "events.0.threads.0.stacktrace.0.type" is null

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in JVM sleep code is captured
When I clear any error dialogue
And I run "JvmAnrSleepScenario"
And I wait for 2 seconds
And I tap the screen 3 times
Then I wait to receive an error
And the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the exception "errorClass" equals "ANR"
And the exception "message" starts with " Input dispatching timed out"
And the error "Bugsnag-Stacktrace-Types" header equals "android,c"
And the error payload field "events.0.exceptions.0.type" equals "android"

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in JVM code is not captured when detectAnrs = false
When I run "JvmAnrDisabledScenario"
# No screen taps for this scenario as it seems to break Appium with Android 8
Then I wait to receive an error
And the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the error payload field "events" is an array with 1 elements
And the exception "errorClass" equals "java.lang.RuntimeException"
And the exception "message" equals "JvmAnrDisabledScenario"

@anr
@skip_samsung
@skip_android_10
Scenario: ANR triggered in JVM code is not captured when outside of release stage
When I run "JvmAnrOutsideReleaseStagesScenario"
And I wait for 2 seconds
And I tap the screen 3 times
And I wait for 10 seconds
And I close and relaunch the app after an ANR
And I configure Bugsnag for "JvmAnrOutsideReleaseStagesScenario"
Then Bugsnag confirms it has no errors to send
And I wait for 10 seconds
# Wait extra 10 seconds in the end, so appium will have enough time to terminated the previous anr session


Feature: Switching automatic error detection on/off for Unity ANR

Background:
Given I clear all persistent data

@anr
@skip_samsung
@skip_android_10
Scenario: ANR not captured with autoDetectAnrs=false
When I run "AutoDetectAnrsFalseScenario"
And I wait for 2 seconds
And I tap the screen 3 times
And I wait for 10 seconds
And I close and relaunch the app after an ANR
And I configure Bugsnag for "AutoDetectAnrsFalseScenario"
Then Bugsnag confirms it has no errors to send
And I wait for 10 seconds
# Wait extra 10 seconds in the end, so appium will have enough time to terminated the previous anr session

@anr
@skip_samsung
@skip_android_10
Scenario: ANR captured with autoDetectAnrs reenabled
When I clear any error dialogue
And I run "AutoDetectAnrsTrueScenario"
And I wait for 2 seconds
And I tap the screen 3 times
And I wait to receive an error
Then the error is valid for the error reporting API version "4.0" for the "Android Bugsnag Notifier" notifier
And the error payload field "events" is an array with 1 elements
And the exception "errorClass" equals "ANR"
And the exception "message" starts with " Input dispatching timed out"
And the exception "type" equals "android"
And the event "unhandled" is true
And the event "severity" equals "error"
And the event "severityReason.type" equals "anrError"
And the event "severityReason.unhandledOverridden" is false