CI runs on every push to the default branch and on every change request
A pipeline that only runs on tags tells you the build broke after you shipped it. Running on the default branch and on every pull or merge request catches breakage while the author still has the context.
Observable check
the CI configuration triggers on push to the default branch and on pull_request (GitHub), or defines rules for $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH and merge_request_event (GitLab).