Skip to content

fix(ci): send User-Agent when polling crates.io API#97

Merged
aviator5 merged 1 commit into
GlobalTypeSystem:mainfrom
aviator5:fix-release-2
Jun 5, 2026
Merged

fix(ci): send User-Agent when polling crates.io API#97
aviator5 merged 1 commit into
GlobalTypeSystem:mainfrom
aviator5:fix-release-2

Conversation

@aviator5

@aviator5 aviator5 commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

is_published()/wait_visible() called the crates.io API via curl without a User-Agent header. crates.io's data-access policy rejects UA-less requests with HTTP 403, so the -sf curl failed silently, is_published always returned false, and wait_visible spun for 5 minutes before erroring out even though the crate had already been published. Send a descriptive UA header.

Stopgap alongside the --workspace dry-run fix until the release pipeline is migrated off the hand-rolled publish logic to release-plz (#96).

Summary by CodeRabbit

  • Chores
    • Updated internal publishing process to include a descriptive identifier when communicating with the package registry API.

is_published()/wait_visible() called the crates.io API via curl without a
User-Agent header. crates.io's data-access policy rejects UA-less requests
with HTTP 403, so the -sf curl failed silently, is_published always returned
false, and wait_visible spun for 5 minutes before erroring out even though
the crate had already been published. Send a descriptive UA header.

Stopgap alongside the --workspace dry-run fix until the release pipeline is
migrated off the hand-rolled publish logic to release-plz (GlobalTypeSystem#96).

Signed-off-by: Aviator 5 <ai.agent.tor@gmail.com>
@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b9929d3b-a358-4b0e-99ac-6c9f6ad48135

📥 Commits

Reviewing files that changed from the base of the PR and between b3433f2 and 2deba0f.

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

📝 Walkthrough

Walkthrough

The release workflow's is_published helper now sends a descriptive User-Agent header when checking crate publication status on crates.io. A CRATES_UA constant is defined and the curl request is updated to include the header via the -H flag.

Changes

Release workflow User-Agent header

Layer / File(s) Summary
crates.io API User-Agent header
.github/workflows/release.yml
A CRATES_UA constant is introduced and the is_published helper's curl request to crates.io is updated to include -H "User-Agent: ${CRATES_UA}" in the API call.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5 minutes

Poem

A rabbit hops through workflows with glee,
Adding headers for courtesy—
User-Agent now greets crates.io,
A simple change, but proper-o! 🐰✨

🚥 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 specifically describes the main change: adding a User-Agent header to crates.io API polling requests in the CI workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

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

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@aviator5 aviator5 merged commit 2e6eeed into GlobalTypeSystem:main Jun 5, 2026
7 checks passed
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