no, deploy-succeeded (assuming here that we are talking about the event-triggered function) should fire after the deploy succeeds, and only then. A git commit is not a successful deploy (and won’t even trigger one if you have for instance:
- paused builds,
- or if you have a commit message that contains
[skip netlify]
- or if your ignore script aborts the build execution
Put another way, only completing a deploy (one that shows success in our logs) would be expected to trigger that event-triggered function.
If you want to do something only on publish, you will indeed have to build it in the way I described - likely, run some API calls after each deploy, to determine which one is published. But, I could also imagine a workflow that caused a date-published.txt file to be included with the prod deploy, and you polling it to see when things changed if you wanted to back into it a bit rather than stitching together a system to process the notification (I’d use zapier.com myself).
If you have auto-publishing disabled, and change what is published (which you’d have to do manually), note that disabling and re-enabling publishing does send additional alerts. So perhaps if you are looking for the easiest way to build a workflow that is only triggered for published, locked deploys - you might be able to work from that specific notification, as a signal that will take less processing to be sure it is a “relevant, published” deploy: Deploy notifications | Netlify Docs