Sentry Suspect Commits Clarification

Hello !

We have just started using sentry suspect commits and we love the fature so far.

But we’re having trouble understanding how it works on a more technical level.

I have tried reaching out the support but I only get links to basic documentation on how suspect commits work.

These problems are originating because of the workflow we use at my company.

Our workflow looks something like this:

Part 1 of workflow

We create an app everytime one of our pull requests is created/updated. Alongside with the creation of the app we also create a sentry release and enable suspect commits for that app. Similar to heroku review apps(Review Apps (New) | Heroku Dev Center) or GitLab Review Apps(Review Apps | GitLab)

Apps created in this part of the workflow are in the “DEVELOPMENT” environment

Part 2 of workflow

We also have an app that is always up to date with the master branch, so whenever a PR gets merged to master we update the app and create a new release and enable suspect commits for that app.

The app created/updated in the part of the workflow is in the “STAGING” environment

So these are my current problems/questions:

1. Is there a way to filter suspect commits on a sentry issue based of the environment ?

I only want to see suspect commits coming in from the app originating from the master branch(STAGING environment)(part 2 of workflow).

I don’t want to see suspect commits which originate from the “DEVELOPMENT” environment

2. Can commits not associated with releases appear in suspect commits ?

We just started using sentry after years of pushing code. I was wondering what happens when an error is thrown which is linked to a very old commit. Does that old commit show as a suspect commit ?

For clarity these are the steps taken to create sentry releases and enable suspect commits(without including the SDK code):

  1. A sentry release is created and finalized

$ sentry-cli releases new --finalize $SENTRY_RELEASE

  1. Upload source maps to sentry

$ sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps --url-prefix “~app/$SOURCE_MAPS_DIRECTORY” $SOURCE_MAPS_DIRECTORY

  1. Enable suspect commits for that release

For DEVELOPMENT apps

SENTRY_FROM_COMMIT=(git log origin/master…$GITHUB_HEAD_REF --oneline --no-abbrev-commit | tail -1 | awk ‘{print $1}’)

SENTRY_TO_COMMIT=(git rev-parse HEAD)

$ sentry-cli releases set-commits --commit “$GITHUB_REPOSITORY@$SENTRY_FROM_COMMIT…$SENTRY_TO_COMMIT” $SENTRY_RELEASE

For the STAGING app

$ sentry-cli releases set-commits --auto $SENTRY_RELEASE

Did anyone have the same questions/problems/use cases before, and if so how did you fix them ? If not I would really like to hear how you guys use suspect commits in your workflow.

Also it would really be appreciated if more technical docs around releases/suspect commits would be created in the first place. I feel like that part of the product is not documented that well.

Update, support got back to me with some answers

  1. You cannot filter suspect commits based of an environment
  2. Commits not associated with a release will not show as suspect commits