Common errors, solutions, and debugging tips for fuz_gitops.
Commit or stash your changes before publishing:
git status
git add .
git commit -m "prepare for publish"Switch to main branch:
git checkout main
git pullLog in to npm:
npm login
npm whoami # verify loginFix the build errors before publishing:
cd path/to/package
gro build # See the full build error
# Fix the errors
gro build # Verify it worksBuild validation runs during preflight checks to prevent broken state. All packages must build successfully before any publishing begins.
This can happen if:
- Another publish happened between plan generation and actual publish
- NPM registry has not propagated yet
Solution: Run plan again, compare outputs.
Production/peer circular dependencies block publishing. You must:
- Identify the cycle in
gro gitops_analyzeoutput - Move one dependency to devDependencies
- Or restructure to remove the cycle
Note: Dev dependency cycles are normal and allowed.
NPM propagation can be slow. Either:
- Increase timeout with
--max-wait(default is 10 minutes / 600000ms) - Check NPM registry status
- Verify package was actually published
- If verified published, re-run
gro gitops_publish --wetrunto continue (already-published packages will be skipped)
This happens when:
- A dependency was published with a new version
- Your package has that dependency in dependencies or peerDependencies
This is correct behavior - packages must republish when their dependencies change.
Deployment occurs for packages with ANY changes (not just published packages):
- Published in this run
- Production/peer dependencies updated
- Dev dependencies updated (requires rebuild/deploy)
This is correct behavior - dev dep changes require redeployment even without version bumps.
Check:
- Changeset file is in
.changeset/directory - Changeset file is not
README.md - Changeset references the correct package name
- Changeset has valid frontmatter format
Resumption is automatic and natural:
- When
gro publishsucceeds, it consumes changesets - Single
gro gitops_publish --wetrunrun handles full dependency cascades via iteration (max 10 passes) - If publishing fails mid-way, re-run
gro gitops_publish --wetrun:- Already-published packages have no changesets → skipped automatically
- Failed packages still have changesets → retried automatically
- No state files needed, just re-run the same command!
This is safer than explicit state tracking because:
- No stale state files to confuse users
- No need to remember
--resumeflag - Git workspace checks catch incomplete operations
- Changeset consumption provides natural, foolproof resumption
gro gitops_analyze --format markdown --outfile deps.md# Before publishing
gro gitops_plan --format markdown --outfile plan.md
# After publishing (dry run, which is the default)
gro gitops_publish --format markdown --outfile actual.md
# Compare files
diff plan.md actual.md# In each repo
git log --oneline
ls .changeset/