Skip to content

Commit

Permalink
Release v5.7.8 (#411)
Browse files Browse the repository at this point in the history
* Use maven publish plugin for central publishing

This simplifies setup using the gradle maven publish plugin for publishing to central. This removes jcenter publishing, but publishing just to central covers jcenter since it proxies it anyway.

https://github.com/vanniktech/gradle-maven-publish-plugin

This requires added local gradle properties (recommended to put them in your ~/.gradle/gradle.properties) for signing and auth, described here: https://github.com/vanniktech/gradle-maven-publish-plugin#where-to-upload-to

Most significantly, this automatically handles publishing the gradle plugin marker artifact as well so that it can be used directly in `plugins {...}`

* Remove old install config

* Fix arg overrides

* Disabling signing on CI

* Add back bintray uploads

Their API and plugin are both in bad shape and I don't want to deal with it

* Remove old plugin bits

* Swap bintray plugin for custom target with existing plugin

* fix: set source compatibility explicitly

* change publish=1

* fix(gradle): replaced jcenter with mavenCentral

* dep: update mazerunner to v3.7.4

* fix(publishing): replaced bintray publishing with sonatype, inline with the bugsnag-android publishing

* feat(compat): emit a helpful error if AGP-7 or higher is detected

* fix: compatibility error should point to `https://docs.bugsnag.com/build-integrations/gradle/`

* fix: the Bugsnag Plugin version should include a wildcard for future-proofing (7.+ instead of 7.0.0)

* v5.7.7

* fix: rescue the JS bundle from being overwritten by Hermes (if enabled) by copying it to our own directory (#404)

* Maze-v5: Update maze-runner version to v5

* Maze-v5: Update steps and env to use v5 syntax/methods

* Maze-v5: Update fixture paths to target new server paths

* Maze-v5: Initial (non-working) step updates

* Maze-v5: Update steps to work with upcoming maze-runner release

* Maze-v5: Temp update to in-progress maze-runner branch for testing

* Maze-v5: Stop enforcing integrity headers

* Maze-v5: Use correct test server path for all AGP endpoints

* Maze-v5: Fix reject issue on request list

* Maze-v5: Add nil guard against process status

* Maze-v5: Make exit code checking implicit where possible

* Maze-v5: Fix runner call error

* Maze-v5: Fix runner call error

* Maze-v5: Ensure method names are consistent

* Maze-v5: Ensure that intentionally failing tests use the correct steps

* Maze-v5: Refactor build methods

* Maze-v5: Test using success expectation for Authenticated HTTP proxy

* Maze-v5: Ensure the correct Gradle process is used for the proxy test

* Maze-v5: Update to have same feature as master

* Maze-v5: Ensure RN060 skips are enabled

* Maze-v5: Update to the latest release of MR

* Maze-v5: Ensure 0 checking is implicit on running React-native and NDK app scripts

* Use in-development maze runner

* Update tests to use new /uploads endpoint

* Separate build and upload endpoints in tests

* Correct expectation

* Correct expectation

* Use Maze 5.6.0

* fix(react-native): add clear error messages when `node_modules` or the Bugsnag react-native modules cannot be found (#409)

* Release v5.7.8

Co-authored-by: Zac Sweers <[email protected]>
Co-authored-by: fractalwrench <[email protected]>
Co-authored-by: Tom Longridge <[email protected]>
Co-authored-by: Alex Moinet <[email protected]>
Co-authored-by: Steve Kirkland <[email protected]>
  • Loading branch information
6 people authored Jul 22, 2021
1 parent 11ed5a7 commit ba71a1a
Show file tree
Hide file tree
Showing 49 changed files with 508 additions and 380 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## 5.7.8 (2021-07-22)

* Upload correct bundle when Hermes is enabled
[404](https://github.com/bugsnag/bugsnag-android-gradle-plugin/pull/404)

* Added clear error messages when node_modules cannot be located in ReactNative projects
[409](https://github.com/bugsnag/bugsnag-android-gradle-plugin/pull/409)

## 5.7.7 (2021-06-23)

* Emit a helpful compatibility error when Android Gradle Plugin 7 or higher is detected
Expand Down
3 changes: 1 addition & 2 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
source "https://rubygems.org"

gem "bugsnag-maze-runner", git: 'https://github.com/bugsnag/maze-runner', tag: 'v3.7.4'

gem "bugsnag-maze-runner", git: 'https://github.com/bugsnag/maze-runner', tag: 'v5.6.0'
28 changes: 14 additions & 14 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
GIT
remote: https://github.com/bugsnag/maze-runner
revision: 06d2a4d4e07fe78e67d94eb757ea85c2f8747533
tag: v3.7.4
revision: 626bbe9d8e72e46fc8cae757a032bea88b6e3829
tag: v5.6.0
specs:
bugsnag-maze-runner (3.7.4)
appium_lib (~> 10.2)
boring (~> 0.1.0)
bugsnag-maze-runner (5.6.0)
appium_lib (~> 11.2.0)
cucumber (~> 3.1.2)
cucumber-expressions (~> 6.0.0)
curb (~> 0.9.6)
Expand All @@ -20,15 +19,14 @@ GIT
GEM
remote: https://rubygems.org/
specs:
appium_lib (10.6.0)
appium_lib_core (~> 3.3)
appium_lib (11.2.0)
appium_lib_core (~> 4.1)
nokogiri (~> 1.8, >= 1.8.1)
tomlrb (~> 1.1)
appium_lib_core (3.11.1)
appium_lib_core (4.6.0)
faye-websocket (~> 0.11.0)
selenium-webdriver (~> 3.14, >= 3.14.1)
backports (3.21.0)
boring (0.1.0)
builder (3.2.4)
childprocess (3.0.0)
cucumber (3.1.2)
Expand All @@ -54,32 +52,34 @@ GEM
eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1)
gherkin (5.1.0)
mini_portile2 (2.5.3)
minitest (5.14.4)
multi_json (1.15.0)
multi_test (0.1.2)
nokogiri (1.11.6-x86_64-darwin)
nokogiri (1.11.7)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
optimist (3.0.1)
os (1.0.1)
power_assert (2.0.0)
racc (1.5.2)
rake (12.3.3)
rubyzip (2.3.0)
rubyzip (2.3.2)
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
test-unit (3.3.9)
power_assert
tomlrb (1.3.0)
websocket-driver (0.7.4)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)

PLATFORMS
x86_64-darwin-19
ruby

DEPENDENCIES
bugsnag-maze-runner!

BUNDLED WITH
2.2.18
2.2.20
23 changes: 12 additions & 11 deletions features/abi_apk_splits.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ Feature: Plugin integrated in project with ABI APK splits

Scenario: ABI Splits project builds successfully
When I build "abi_splits" using the "standard" bugsnag config
And I wait to receive 16 requests
And I wait to receive 8 builds
And I wait to receive 8 uploads

Then 8 requests are valid for the build API and match the following:
Then 8 builds are valid for the build API and match the following:
| appVersionCode | appVersion |
| 1 | 1.0 |
| 2 | 1.0 |
Expand All @@ -15,7 +16,7 @@ Scenario: ABI Splits project builds successfully
| 7 | 1.0 |
| 8 | 1.0 |

And 8 requests are valid for the android mapping API and match the following:
And 8 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId |
| 1 | 1.0 | com.bugsnag.android.example |
| 2 | 1.0 | com.bugsnag.android.example |
Expand All @@ -26,21 +27,21 @@ Scenario: ABI Splits project builds successfully
| 7 | 1.0 | com.bugsnag.android.example |
| 8 | 1.0 | com.bugsnag.android.example |

And 8 requests have an R8 mapping file with the following symbols:
And 8 uploads have an R8 mapping file with the following symbols:
| jvmSymbols |
| com.Bar |
| void doSomething() |

Scenario: ABI Splits automatic upload disabled
When I build "abi_splits" using the "all_disabled" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds

Scenario: ABI Splits manual upload of build API
When I build the "Armeabi-release" variantOutput for "abi_splits" using the "all_disabled" bugsnag config
And I wait to receive a request
Then the request is valid for the Android Mapping API
And the field "apiKey" for multipart request equals "TEST_API_KEY"
And the field "versionCode" for multipart request equals "3"
And the field "versionName" for multipart request equals "1.0"
And the field "appId" for multipart request equals "com.bugsnag.android.example"
And I wait to receive an upload
Then the upload is valid for the Android Mapping API
And the upload payload field "apiKey" equals "TEST_API_KEY"
And the upload payload field "versionCode" equals "3"
And the upload payload field "versionName" equals "1.0"
And the upload payload field "appId" equals "com.bugsnag.android.example"
2 changes: 1 addition & 1 deletion features/agp7_emits_error.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ Feature: AGP7 Emits Compatibility Error
Scenario: Compatibility Error Emitted when AGP7 is used
When I build the failing "default_app" on AGP7 using the "standard" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds

7 changes: 4 additions & 3 deletions features/apk_splits_same_version.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@ Feature: Plugin integrated in project with APK splits

Scenario: APK splits avoid uploading duplicate requests for same version information
When I build "apk_splits" using the "standard" bugsnag config
And I wait to receive 2 requests
And I wait to receive a build
And I wait to receive an upload

Then 1 requests are valid for the build API and match the following:
Then 1 builds are valid for the build API and match the following:
| appVersionCode | appVersion |
| 1 | 1.0 |

And 1 requests are valid for the android mapping API and match the following:
And 1 uploads are valid for the android mapping API and match the following:
| buildUUID |
| same-build-uuid |
26 changes: 15 additions & 11 deletions features/app_bundle.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,52 @@ Feature: Generating Android app bundles

Scenario: Single-module default app bundles successfully
When I bundle "default_app" using the "standard" bugsnag config
And I wait to receive 2 requests
And I wait to receive a build
And I wait to receive an upload

Then 1 requests are valid for the build API and match the following:
Then 1 builds are valid for the build API and match the following:
| appVersionCode | appVersion | buildTool | sourceControl.provider | sourceControl.repository |
| 1 | 1.0 | gradle-android | github | https://github.com/bugsnag/bugsnag-android-gradle-plugin.git |

And 1 requests are valid for the android mapping API and match the following:
And 1 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId | overwrite |
| 1 | 1.0 | com.bugsnag.android.example | null |

And 1 requests have an R8 mapping file with the following symbols:
And 1 uploads have an R8 mapping file with the following symbols:
| jvmSymbols |
| com.Bar |
| void doSomething() |

Scenario: Bundling multiple flavors automatically
When I bundle "flavors" using the "standard" bugsnag config
And I wait to receive 4 requests
And I wait to receive 2 builds
And I wait to receive 2 uploads

Then 2 requests are valid for the build API and match the following:
Then 2 builds are valid for the build API and match the following:
| appVersion | appVersionCode |
| 1.0 | 1 |
| 1.0 | 1 |

And 2 requests are valid for the android mapping API and match the following:
And 2 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId |
| 1 | 1.0 | com.bugsnag.android.example.foo |
| 1 | 1.0 | com.bugsnag.android.example.bar |

Scenario: Bundling single flavor
When I bundle the "Foo" variantOutput for "flavors" using the "standard" bugsnag config
And I wait to receive 2 requests
And I wait to receive a build
And I wait to receive an upload

Then 1 requests are valid for the build API and match the following:
Then 1 builds are valid for the build API and match the following:
| appVersion | appVersionCode |
| 1.0 | 1 |

And 1 requests are valid for the android mapping API and match the following:
And 1 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId |
| 1 | 1.0 | com.bugsnag.android.example.foo |

Scenario: Auto upload disabled
When I bundle "default_app" using the "all_disabled" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds
And I should receive no uploads
9 changes: 5 additions & 4 deletions features/default_app.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ Feature: Plugin integrated in default app

Scenario: Single-module default app builds successfully
When I build "default_app" using the "standard" bugsnag config
And I wait to receive 2 requests
And I wait to receive a build
And I wait to receive an upload

Then 1 requests are valid for the build API and match the following:
Then 1 builds are valid for the build API and match the following:
| appVersionCode | appVersion | buildTool | sourceControl.provider | sourceControl.repository |
| 1 | 1.0 | gradle-android | github | https://github.com/bugsnag/bugsnag-android-gradle-plugin.git |

And 1 requests are valid for the android mapping API and match the following:
And 1 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId | overwrite |
| 1 | 1.0 | com.bugsnag.android.example | null |

And 1 requests have an R8 mapping file with the following symbols:
And 1 uploads have an R8 mapping file with the following symbols:
| jvmSymbols |
| com.Bar |
| void doSomething() |
15 changes: 8 additions & 7 deletions features/density_abi_splits.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ Feature: Plugin integrated in project with Density + ABI APK splits

Scenario: Density ABI Splits project builds successfully
When I build "density_abi_splits" using the "standard" bugsnag config
And I wait to receive 26 requests
And I wait to receive 13 builds
And I wait to receive 13 uploads

Then 13 requests are valid for the build API and match the following:
Then 13 builds are valid for the build API and match the following:
| appVersionCode |
| 11 |
| 21 |
Expand All @@ -20,7 +21,7 @@ Scenario: Density ABI Splits project builds successfully
| 43 |
| 53 |

And 13 requests are valid for the android mapping API and match the following:
And 13 uploads are valid for the android mapping API and match the following:
| versionCode |
| 11 |
| 21 |
Expand All @@ -39,10 +40,10 @@ Scenario: Density ABI Splits project builds successfully
Scenario: Density ABI Splits automatic upload disabled
When I build "density_abi_splits" using the "all_disabled" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds

Scenario: Density ABI Splits manual upload of build API
When I build the "XxxhdpiArmeabi-release" variantOutput for "density_abi_splits" using the "all_disabled" bugsnag config
And I wait to receive a request
Then the request is valid for the Android Mapping API
And the field "versionCode" for multipart request equals "33"
And I wait to receive an upload
Then the upload is valid for the Android Mapping API
And the upload payload field "versionCode" equals "33"
21 changes: 11 additions & 10 deletions features/density_splits.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ Feature: Plugin integrated in project with Density APK splits

Scenario: Density Splits project builds successfully
When I build "density_splits" using the "standard" bugsnag config
And I wait to receive 14 requests
And I wait to receive 7 builds
And I wait to receive 7 uploads

Then 7 requests are valid for the build API and match the following:
Then 7 builds are valid for the build API and match the following:
| appVersionCode | appVersion |
| 1 | 1.0 |
| 2 | 1.0 |
Expand All @@ -14,7 +15,7 @@ Scenario: Density Splits project builds successfully
| 6 | 1.0 |
| 7 | 1.0 |

And 7 requests are valid for the android mapping API and match the following:
And 7 uploads are valid for the android mapping API and match the following:
| versionCode | versionName |
| 1 | 1.0 |
| 2 | 1.0 |
Expand All @@ -27,13 +28,13 @@ Scenario: Density Splits project builds successfully
Scenario: Density Splits automatic upload disabled
When I build "density_splits" using the "all_disabled" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds

Scenario: Density Splits manual upload of build API
When I build the "Hdpi-release" variantOutput for "density_splits" using the "all_disabled" bugsnag config
And I wait to receive a request
Then the request is valid for the Android Mapping API
And the field "apiKey" for multipart request equals "TEST_API_KEY"
And the field "versionCode" for multipart request equals "4"
And the field "versionName" for multipart request equals "1.0"
And the field "appId" for multipart request equals "com.bugsnag.android.example"
And I wait to receive an upload
Then the upload is valid for the Android Mapping API
And the upload payload field "apiKey" equals "TEST_API_KEY"
And the upload payload field "versionCode" equals "4"
And the upload payload field "versionName" equals "1.0"
And the upload payload field "appId" equals "com.bugsnag.android.example"
2 changes: 1 addition & 1 deletion features/disabled_bugsnag.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ Feature: Bugsnag disabled
Scenario: No requests are received when bugsnag is disabled
When I build "default_app" using the "disabled_bugsnag" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds
2 changes: 1 addition & 1 deletion features/disabled_build_type.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ Feature: Disabling plugin for build type
Scenario: Disabled build type makes no requests
When I build "default_app" using the "disabled_build_type" bugsnag config
And I wait for 3 seconds
Then I should receive no requests
Then I should receive no builds
7 changes: 4 additions & 3 deletions features/disabled_product_flavor.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@ Feature: Disabling plugin for product flavors

Scenario: Disabled product flavor makes no requests
When I build "flavors" using the "disabled_product_flavor" bugsnag config
And I wait to receive 2 requests
And I wait to receive a build
And I wait to receive an upload

Then 1 requests are valid for the build API and match the following:
Then 1 builds are valid for the build API and match the following:
| appVersionCode | appVersion |
| 1 | 1.0 |

And 1 requests are valid for the android mapping API and match the following:
And 1 uploads are valid for the android mapping API and match the following:
| versionCode | versionName | appId |
| 1 | 1.0 | com.bugsnag.android.example.bar |
Loading

0 comments on commit ba71a1a

Please sign in to comment.