Skip to content

fix: resolve upgrade CI failure from dotagents sync target collision - #1374

Merged
shunkakinoki merged 1 commit into
mainfrom
1372-fix-upgrade-ci
Apr 5, 2026
Merged

fix: resolve upgrade CI failure from dotagents sync target collision#1374
shunkakinoki merged 1 commit into
mainfrom
1372-fix-upgrade-ci

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Apr 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Set DOTAGENTS_SKIP_SYNC := 1 in parent Makefile to prevent dotagents sync recipe from leaking when included via -include dotagents/Makefile
  • Updated dotagents submodule with fix for missing / separator in ruler-apply-global (dotagents.ruler -> dotagents/.ruler)

Root cause: The parent Makefile includes dotagents/Makefile, which caused GNU Make to merge the sync target prerequisites and recipe. The dotagents sync recipe (calling ruler-apply-global, commands-sync, etc.) would run at the parent level where paths didn't resolve correctly. Additionally, $(abspath ...) strips trailing slashes, so .ruler was concatenated directly to the directory name.

Closes #1372


Summary by cubic

Prevents the sync target from dotagents running in the parent Makefile, which caused path errors and broke upgrade CI (fixes #1372). Also updates dotagents to fix a missing / in ruler-apply-global.

  • Bug Fixes
    • Parent Makefile: set DOTAGENTS_SKIP_SYNC := 1 to stop dotagents/Makefile from merging and running its sync recipe in the parent.
    • Updated dotagents submodule to use dotagents/.ruler (instead of dotagents.ruler) in ruler-apply-global.

Written for commit d98cf94. Summary will update on new commits.

@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

Copilot AI review requested due to automatic review settings April 5, 2026 14:20
@coderabbitai

coderabbitai Bot commented Apr 5, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@shunkakinoki has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 24 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 11 minutes and 24 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f39af8f2-5945-43d8-8093-5fc0cd90080c

📥 Commits

Reviewing files that changed from the base of the PR and between 1c73722 and d98cf94.

📒 Files selected for processing (2)
  • Makefile
  • dotagents
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 1372-fix-upgrade-ci

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 and usage tips.

@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Resolved upgrade CI failures by preventing a dotagents sync target collision and fixing a path issue in the dotagents submodule.

What changed?

  • DOTAGENTS_SKIP_SYNC := 1 set in parent Makefile to prevent dotagents sync recipe from leaking.
  • Updated dotagents submodule to fix missing / separator in ruler-apply-global.

Description generated by Mesa. Update settings

@shunkakinoki
shunkakinoki merged commit e1c45df into main Apr 5, 2026
22 of 29 checks passed
@shunkakinoki
shunkakinoki deleted the 1372-fix-upgrade-ci branch April 5, 2026 14:20

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates the dotagents submodule and modifies the Makefile to skip the sync target from the included submodule Makefile. A review comment points out that including the submodule Makefile early may override the default goal, suggesting an explicit .DEFAULT_GOAL setting.

Comment thread Makefile
SHELL := bash

# Include dotagents from submodule but keep the local help target authoritative.
# Include dotagents from submodule but keep the local targets authoritative.

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.

high

Including dotagents/Makefile before any targets are defined in the parent Makefile will cause the first target defined in the included file to become the default goal for this Makefile. This likely overrides the intended default target defined later on line 131. To ensure the local help target remains the default, consider explicitly setting .DEFAULT_GOAL.

# Include dotagents from submodule but keep the local targets authoritative.
.DEFAULT_GOAL := help

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

Note

Copilot was unable to run its full agentic suite in this review.

Resolves CI failures caused by GNU Make merging targets from the dotagents/Makefile include, leading to a sync target collision and incorrect path resolution in the parent repo.

Changes:

  • Pins the dotagents submodule to a revision that fixes path concatenation for .ruler.
  • Prevents the dotagents sync target/recipe from leaking into the parent Makefile by setting DOTAGENTS_SKIP_SYNC := 1.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
dotagents Updates the submodule SHA to pick up upstream fixes.
Makefile Adds a guard variable to skip dotagents sync when including its Makefile.

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

Comment thread Makefile
# Include dotagents from submodule but keep the local help target authoritative.
# Include dotagents from submodule but keep the local targets authoritative.
DOTAGENTS_SKIP_HELP := 1
DOTAGENTS_SKIP_SYNC := 1

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

DOTAGENTS_SKIP_SYNC := 1 unconditionally forces the behavior for all consumers, which makes it harder to override locally (e.g., if someone intentionally wants dotagents' sync behavior). Consider using a default assignment (?=) so callers/CI can explicitly opt back in by setting DOTAGENTS_SKIP_SYNC=0 (or leaving it unset when appropriate).

Suggested change
DOTAGENTS_SKIP_SYNC := 1
DOTAGENTS_SKIP_SYNC ?= 1

Copilot uses AI. Check for mistakes.
Comment thread Makefile
SHELL := bash

# Include dotagents from submodule but keep the local help target authoritative.
# Include dotagents from submodule but keep the local targets authoritative.

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

The comment is now broader (“local targets authoritative”), but the key nuance is specifically about avoiding GNU Make target/recipe merging for sync (and potentially other targets) when including dotagents/Makefile. Please expand this comment to briefly document the collision/merge behavior and why DOTAGENTS_SKIP_SYNC is set here, so future maintainers don’t remove it as “unused”.

Suggested change
# Include dotagents from submodule but keep the local targets authoritative.
# Include dotagents from the submodule, but keep local targets authoritative.
# In GNU Make, if both this file and dotagents/Makefile define the same target
# (for example `sync`), prerequisites may be merged and recipes can be
# overridden/combined in surprising ways. `DOTAGENTS_SKIP_SYNC` is therefore
# intentionally set so the included makefile does not define its own `sync`
# target and accidentally change the behavior of the local one. Keep this even
# if it looks unused. `DOTAGENTS_SKIP_HELP` similarly avoids help-target noise.

Copilot uses AI. Check for mistakes.
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