- Replace complex single-job conditional steps with 3 separate jobs:
build-only, build-and-push-main, build-and-push-tag
- Use Gitea Actions-compatible startsWith() function instead of
.startsWith() method call
- Remove nested parentheses that Gitea Actions cannot parse
- Push only on refs/heads/main and refs/tags/v* (not all branches)