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):
- A sentry release is created and finalized
$ sentry-cli releases new --finalize $SENTRY_RELEASE
- Upload source maps to sentry
$ sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps --url-prefix “~app/$SOURCE_MAPS_DIRECTORY” $SOURCE_MAPS_DIRECTORY
- 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.