Skip to content

fix(sync): report an archived repository once, not on every run - #1590

Open
Polkilof wants to merge 2 commits into
nuxt:mainfrom
Polkilof:fix-sync-archived-deadlock
Open

fix(sync): report an archived repository once, not on every run#1590
Polkilof wants to merge 2 commits into
nuxt:mainfrom
Polkilof:fix-sync-archived-deadlock

Conversation

@Polkilof

Copy link
Copy Markdown

sync() writes what it finds into the module file, and the CLI then exits 1 if anything was found. For an archived repository those two steps contradict each other: the run computes archived: true, exits non-zero, and the autofix-ci step never gets to commit the flag — so the next run rediscovers the same repository and fails again. Since windicss/nuxt-windicss-module was archived, pnpm sync has failed on every pull request opened against this repository, while ci stayed green.

An archived repository is now reported only the first time it is seen, that is when the flag is not yet recorded in the module file. A freshly submitted module that is already archived still fails, because nothing has recorded it yet, and pnpm cli sync <name> keeps reporting it every time it is run by hand.

This also commits the two values sync has been unable to write:

  • windicss: archived: true
  • content: compatibility.nuxt, which @nuxt/content@3.15.2 declares as ^3.19.0 || >=4.1.0 while the registry still promised >=3.0.0-rc.3

🔗 Linked issue

📚 Description

`sync()` writes what it finds into the module file, and the CLI then exits 1
if anything was found. For an archived repository those two steps contradict
each other: the run computes `archived: true`, exits non-zero, and the
`autofix-ci` step never gets to commit the flag — so the next run rediscovers
the same repository and fails again. Since `windicss/nuxt-windicss-module`
was archived, `pnpm sync` has failed on every pull request opened against
this repository, while `ci` stayed green.

An archived repository is now reported only the first time it is seen, that
is when the flag is not yet recorded in the module file. A freshly submitted
module that is already archived still fails, because nothing has recorded it
yet, and `pnpm cli sync <name>` keeps reporting it every time it is run by
hand.

This also commits the two values sync has been unable to write:

- windicss: `archived: true`
- content: `compatibility.nuxt`, which `@nuxt/content@3.15.2` declares as
  `^3.19.0 || >=4.1.0` while the registry still promised `>=3.0.0-rc.3`
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 18842b50-a4e7-4f19-bc6d-f2c43c78c91a

📥 Commits

Reviewing files that changed from the base of the PR and between 4481258 and 6518508.

📒 Files selected for processing (9)
  • modules/laravel-echo.yml
  • modules/nuxt-auth-sanctum.yml
  • modules/nuxt-fortify.yml
  • modules/nuxt-highlight.yml
  • modules/nuxt-laravel-echo.yml
  • modules/nuxt-sanctum-precognition.yml
  • modules/nuxt-spyglass.yml
  • modules/shopify.yml
  • modules/simple-line-icons.yml

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


📝 Walkthrough

Walkthrough

The synchronization result now records whether a module became archived during the current sync. syncAll reports only newly archived modules. WindiCSS is marked as archived. Nuxt compatibility requirements are updated for Spyglass and Shopify. Documentation links are updated for Laravel-related modules, Highlight, and Simple Line Icons.

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

Merge Risk: ⚪ Minimal · up to 65185

The change is localized to archived-repository reporting and related module metadata updates; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (9 skipped: 9 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: archived repositories are reported only once during synchronization. It is concise and follows the conventional commit format.
Description check ✅ Passed The description directly explains the synchronization issue, the reporting behavior, and the related data updates. It is relevant to the changeset.
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

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (9 skipped: 9 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@Polkilof

Copy link
Copy Markdown
Author

A correction to my own commit message: the bot reverted the content.yml change in the second commit, and it was right to. sync merges compatibility.nuxt across every published major, not just the latest one, and for @nuxt/content that union really is >=3.0.0-rc.3. The stored value was never wrong.

Which means the compatibility regression reported for content was a phantom. The run that reported it only managed to fetch module.json for some of the majors — the same logs are full of 403s, 404s and timeouts from outbound requests — merged a narrower range out of whatever came back, and compared that against the stored value. It will reappear on any run where a fetch fails, and it fails the whole job when it does. Worth a separate issue, I think: a failed metadata fetch should not be indistinguishable from a module dropping support for a Nuxt major. Happy to open it, or to take it on here if you would rather have both in one place.

What is left in this PR stands on its own. pnpm sync reached Sync completed successfully (446/446) for the first time in weeks, which is exactly what let autofix-ci finally commit the accumulated metadata drift you see in the second commit — nine module files that had been waiting for a green run. Sync also kept archived: true in windicss.yml through its own rewrite, which is the behaviour the change is after.

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.

1 participant