Questions related to Tagging

Have some questions on Tagging. Can anyone please help?

  1. Tagging is done on builds or only on source code? Please confirm.
  2. When to create tag - before, during or after build?
  3. Will tagging trigger another build, since it involves push? If so, how to prevent tagging from triggering a build (say, GitHub action / workflow)
  4. Can tagging be done in a GitHub Action? If so, how?
  5. What are the tagging best practices in GitHub?