Skip to content

chore: trigger release workflow on tag push instead of release published#12759

Open
hardikkaurani wants to merge 2 commits into
appwrite:1.9.xfrom
hardikkaurani:fix-release-tag-notification-12753
Open

chore: trigger release workflow on tag push instead of release published#12759
hardikkaurani wants to merge 2 commits into
appwrite:1.9.xfrom
hardikkaurani:fix-release-tag-notification-12753

Conversation

@hardikkaurani

Copy link
Copy Markdown

Summary

This PR addresses issue #12753 where the release tag 1.9.5 had to be deleted, recreated, and republished several times to include hotfixes. Each time a release was republished on GitHub, watchers received duplicate notifications, and the release tags pointed to mutable commits during the transition.

Changes

  • Modify the Release workflow (.github/workflows/release.yml) to trigger on a semver tag push event (*.*.*) rather than the release: published event.
  • This aligns with how the Cloud image build pipeline (publish.yml) handles tag-based building.
  • It allows maintainers to push tags, trigger the automated Docker multi-platform builds, verify that build results and installers are fully functional, and only publish the GitHub release when they are certain of the stability.
  • Watchers will receive exactly one notification when the release is finally published, and tags will remain immutable and stable on release.

Closes #12753

Copilot AI review requested due to automatic review settings July 1, 2026 19:45
@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Switches the release workflow trigger from release: published to push: tags so Docker multi-platform builds start immediately when a semver tag is pushed, allowing maintainers to verify the image before the GitHub Release is published and avoiding duplicate watcher notifications from repeated re-publishes.

  • The include pattern [0-9]*.[0-9]*.[0-9]* digit-anchors each segment, so cloud-build tags like cl-1.9.5 cannot match (they start with c, not a digit); the !cl-* exclusion adds a redundant but harmless explicit guard.
  • The docker/metadata-action step already reads the version from github.ref (the git tag), so it produces identical Docker tags whether the event is a tag push or a release publish — no downstream tag changes needed.

Confidence Score: 5/5

Safe to merge — the change is a minimal, well-scoped trigger swap that does not alter any build, push, or deployment logic.

The only change is the workflow trigger: release: published becomes push: tags with a digit-anchored pattern. The rest of the job — Docker login, metadata extraction, multi-platform build, and push — is untouched. The new pattern correctly excludes cloud-build tags and aligns with the existing publish.yml convention. No build logic, credentials handling, or downstream steps are affected.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/release.yml Trigger changed from release: published to push: tags with pattern [0-9]*.[0-9]*.[0-9]*; addresses previously raised concern about cl-* cloud-build tags by both tightening the digit-anchored pattern and adding an explicit !cl-* exclusion.

Reviews (2): Last reviewed commit: "chore: restrict tag trigger to digit-bas..." | Re-trigger Greptile

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GitHub Actions Release workflow trigger so that Docker multi-platform release builds run when a SemVer tag is pushed (instead of when a GitHub Release is published), enabling maintainers to validate artifacts before publishing the GitHub Release and avoiding duplicate watcher notifications.

Changes:

  • Switch .github/workflows/release.yml trigger from release.published to push on tag patterns.
  • Align release build triggering closer to the existing tag-driven cloud image pipeline behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml Outdated
Comment on lines +3 to +6
on:
release:
types: [published]
push:
tags:
- '*.*.*'
Comment thread .github/workflows/release.yml Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants