-
Notifications
You must be signed in to change notification settings - Fork 41
Fix docs build failure by ensuring stable SCM versioning in CI workflow #762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughTwo GitHub Actions workflows are updated to fetch full git history during checkout, configure Python version selection from a Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
amaslenn
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR adds a workaround addressing symptoms, not the root cause. The real issue is that #760 didn't update uv.lock file.
Please add the following command to avoid such issues in future: uv lock --check (right after "Install dependencies" step under "lint" job).
@srivatsankrishnan please do not create new PRs for the same topic as you did with (#756 and #760), that ruins review process.
Summary
Fix docs build failure caused by SCM version mismatch during uv sync.
Update Build and Deploy Documentation workflow to use a full git checkout (fetch-depth: 0) so SCM-based versioning is stable.
Pin Python to the repo’s .python-version via actions/setup-python.
Run uv sync with --frozen to ensure the environment matches uv.lock deterministically.
Root cause
The failing step was building/installing cloudai itself during the docs workflow’s uv sync.
cloudai uses SCM-based dynamic versioning (pdm-backend + source = "scm").
In CI, the repo was checked out in a way that could be shallow / missing full git history/tags, which makes SCM-version computation flaky.
Under that condition, the build backend can produce inconsistent versions between wheel filename and wheel metadata, leading to:
--metadata version: 0.1.dev…+g
--wheel filename version: 0.1.dev…+g.dYYYYMMDD
Tools reject this as an invalid wheel (“metadata version does not match wheel filename”), so the docs job fails during “Set up envir
Test Plan
Additional Notes