getsentry / sentry-android-gradle-plugin

Gradle plugin for Sentry Android. Upload proguard, debug files, and more.

Home Page:https://docs.sentry.io/platforms/android/gradle/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sentry-cli path never considered up-to-date

lbloder opened this issue · comments

Description

Follow-Up on: #634

Currently, tasks that depend on the sentry-cli are never considered up-to-date and thus will be executed at every run, if the sentry-cli path is generated by extracting the packaged sentry-cli executable from the jar and placing it into a temp folder. This causes the sentry-cli path to change at every run and marks all dependent tasks out-of-date.

Affected tasks:

  • UploadSourceBundleTask
  • BundleSourcesTask
  • SentryUploadProguardMappingsTask

@lbloder just one note - if the build is run with --configuration-cache then the sentry-cli path is preserved as part of the config cache between builds, so maybe that's alright as it is now?

Should we document this somewhere?

yeah we could, but also - it's always been like that :P

In theory we could copy the cli to a known location (instead of a temp), but we also need to consider

  • changes in sentry-cli version
  • branch changes

@lbloder is this something you'll be working on?

@markushi depends on whether we actually want to implement this. But not immediately, because I'm out of office for the next two weeks.

I guess if it works with --configuration-cache we should be fine.

What do you all think?

I think it's alright, we could mention configuration cache somewhere in the docs perhaps, and if this issue doesn't get any traction from the community in a while, we just close it.

Let's make sure we verify that any solution to this issue also fixes #670 (comment)

@markushi depends on whether we actually want to implement this. But not immediately, because I'm out of office for the next two weeks.

I guess if it works with --configuration-cache we should be fine.

What do you all think?

Not that wouldnt be fine.

  1. Not every one uses configuration cache
  2. After gradle 8.6, sharing configuration cache on CI becomes much simpler. We started sharing CC cache and now Sentry invalidates CC on every run.

Please consider making sentry-cli gradle cache, up-to-date and configuration cache friendly.

@kozaxinan see #670.

Our workaround for now is to install the Sentry CLI to a known location in our Docker image and set cli.executable=/opt/bin/sentry-cli in sentry.properties.

I tried disabling telemetry and now it is working.
tbh, we use self hosted sentry. Telemetry should be disabled already. I will keep eye on it. If this works, we will be able to save around 5-6 minutes on CI.

@kozaxinan which version of the plugin you're using btw?

@kozaxinan which version of the plugin you're using btw?

4.3.0

We cannot update to 4.3.1 because sentry and dexguard plugins have the circular dependency. We will open a different issue for that.

@PhilGlass @kozaxinan version 4.4.0 has been shipped with both fixes (dexguard and sentry-cli config cache), please give it a try and let us know if you still face any issues. Thanks for your patience!

According to initial tests, the new version fixed the cc issue. Thank you.