Conversation
Refactor the publish action for Android to ensure that symbols are published to Sentry for any 'release' buildLevel -- test releases and alpha/beta/stable releases. Splits the publish action into `publish-symbols` and `publish-play-store` so that they can be run separately as needed, as symbols can be published for test builds, but play store is only touched for actual releases. Note: examining the build logs and Sentry server state, it looks like the publish to Sentry has not been happening for quite a while, so this commit refactors the Sentry publishing code and establishes the fv-keyboards publish target also. Fixes: #14284 Build-bot: release Test-bot: skip
User Test ResultsTest specification and instructions User tests are not required |
|
Wrinkle -- if an unsupported build target is provided to a child build, then builder ends up running |
| "clean clean artifact directories" \ | ||
| "build configure, build and test Keyman for Android" | ||
| "build configure, build and test Keyman for Android" \ | ||
| "publish publish symbols to Sentry (for release buildLevel)" |
There was a problem hiding this comment.
Should we match the top level android/build.sh and use publish-symbols?
There was a problem hiding this comment.
Hmm, this is the general action in the TC script which may have more publish events in the future, so let's leave it as publish.
| builder_echo "Making a Sentry release for tag $KEYMAN_VERSION_GIT_TAG" | ||
| sentry-cli upload-dif -p keyman-android --include-sources | ||
| sentry-cli releases -p keyman-android files $KEYMAN_VERSION_GIT_TAG upload-sourcemaps ./ | ||
| fi |
There was a problem hiding this comment.
The previous code also called sentry-cli releases finalize "$KEYMAN_VERSION_GIT_TAG". Do we no longer need that?
There was a problem hiding this comment.
The finalize statement is called in sentry-control.inc.sh during the version increment / release build trigger. It should not be called in individual platform builds; I think this was just a vestigial issue in the Android build. It may not do any harm but it really isn't final at this point.
| publish_symbols() { | ||
| if builder_is_ci_build && builder_is_ci_build_level_release; then | ||
| # TODO: what does publishSentry even do? | ||
| ./gradlew $DAEMON_FLAG publishSentry |
There was a problem hiding this comment.
Probably doesn't matter, but this used to run after the sentry-cli commands.
There was a problem hiding this comment.
Yeah, as far as I can tell it needs to run before ... it may not do anything but running it afterwards is pretty useless.
|
Changes in this pull request will be available for download in Keyman version 19.0.103-alpha |
Refactor the publish action for Android to ensure that symbols are published to Sentry for any 'release' buildLevel -- test releases and alpha/beta/stable releases.
Splits the publish action into
publish-symbolsandpublish-play-storeso that they can be run separately as needed, as symbols can be published for test builds, but play store is only touched for actual releases.Note: examining the build logs and Sentry server state, it looks like the publish to Sentry has not been happening for quite a while, so this commit refactors the Sentry publishing code and establishes the fv-keyboards publish target also.
Fixes: #14284
Blocked-by: #14506
Build-bot: release
Test-bot: skip