Skip to content

ci: drop --order-dependents from the release publish trigger - #1790

Merged
spydon merged 1 commit into
mainfrom
fix/release-tag-dependency-cycle
Sep 1, 2026
Merged

ci: drop --order-dependents from the release publish trigger#1790
spydon merged 1 commit into
mainfrom
fix/release-tag-dependency-cycle

Conversation

@spydon

@spydon spydon commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

CI fix. The Create Release Tags workflow failed on the v3.0.0-dev.2 release (run 33512894194): the tags were created and pushed, but the Trigger publish workflows step exited before dispatching anything, so nothing reached pub.dev.

What is the current behavior?

🚨 1 cycles in dependencies found:
[ postgrest -> supabase_testing -> supabase ]

melos exec --order-dependents builds its ordering graph from dev_dependencies as well as dependencies. Since #1747, supabase_testing depends on supabase, and nine packages dev-depend on supabase_testing, which closes a cycle through postgrest. Melos checks for cycles across the whole workspace before running anything and exits 1 when it finds one, so the flag cannot be combined with this dependency graph. Filtering the cycle away with --ignore does not help either, because the check runs over all packages rather than the filtered set.

This is the first run of the workflow since supabase_testing landed. The previous release commit was titled chore: publish packages as 3.0.0-dev.1, which does not match the workflow's chore(release): condition, so the job was skipped; the last run before that was on 2026-08-05, before the package existed.

What is the new behavior?

The flag is dropped, with a comment recording why it cannot come back. Dispatch order does not affect the outcome: every tag points at the same release commit, each dispatched Publish Packages run publishes whatever is unpublished at that commit, and melos publish itself runs unordered at concurrency 1 and resolves each package against the workspace rather than against pub.dev.

Verified locally against main: the command as it stands reproduces the cycle error, and without the flag it enumerates all 12 unpublished non-private packages with the expected tag refs.

Additional context

This does not retrigger the stuck release. Create Release Tags runs on push to main, and the tags for 3.0.0-dev.2 already exist, so publishing that release still needs a manual Publish Packages dispatch on one of those tags.

Summary by CodeRabbit

  • Chores
    • Updated the release process to reliably trigger package publishing when the project contains cyclic dependencies.
    • Publishing now proceeds without requiring dependency-based execution order.

melos builds its ordering graph from dev_dependencies too, so
supabase_testing (which depends on supabase) plus the client packages
that dev-depend on supabase_testing form a cycle, and melos exec exits
before dispatching anything.
@spydon
spydon requested a review from a team as a code owner September 1, 2026 13:36
@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: bf31a788-8ee4-4d47-94f4-f48d1c059e28

📥 Commits

Reviewing files that changed from the base of the PR and between a2cb83a and dd8bcfb.

📒 Files selected for processing (1)
  • .github/workflows/release-tag.yml

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The release-tag workflow now runs melos exec without --order-dependents. A comment records that cyclic dependencies prevent ordered execution and that dispatch order does not affect tags pointing to the same release commit.

Changes

Release workflow

Layer / File(s) Summary
Publish workflow dispatch
.github/workflows/release-tag.yml
The publish-trigger step removes --order-dependents from melos exec and documents the cyclic dependency constraint.

Estimated code review effort: 2 (Simple) | ~5 minutes

Merge Risk: ⚪ Minimal · up to dd8bc

This localized CI change removes a failing dependency-ordering flag so release publish workflows can be dispatched despite the workspace cycle; no actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: dshukertjr

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: removing --order-dependents from the release publish trigger.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-tag-dependency-cycle

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@spydon
spydon merged commit 24057c2 into main Sep 1, 2026
28 checks passed
@spydon
spydon deleted the fix/release-tag-dependency-cycle branch September 1, 2026 13:43
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