Sync the Cargo crate publish route

What does this MR do and why?

Adds one route to the router snapshot: PUT /api/:version/projects/:id/packages/cargo/api/v1/crates/new. This is the Cargo package publish endpoint from gitlab-org/gitlab!254282 (merged).

The monolith MR's cells-routes:router-in-sync job fails because the router hasn't seen this route yet.

No routing logic changed. The route matches the existing /api/v4/projects/:PROJECT_ID_OR_ROUTE/* rule, the same rule already used by its sibling route .../crates/new/authorize. src/generated_route_guards.ts is unchanged. The route requires authentication.

I added the entry to test/routes/gitlab_routes.json by hand instead of running the full npm run download-gitlab-routes -- cargo-publish-endpoint script. That script would delete 7 routes that are on router main but not yet on the monolith branch (from other teams' unmerged MRs, e.g. /api/:version/orbit/context, /api/:version/integrations/jira_forge/user_delegation). This follows the same approach as !1370 (merged).

References

How to set up and validate locally

npm ci
npm run generate-route-guards   # no diff
npm run test -- routes.spec.ts  # 5 passed

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

🤖 Generated with Claude Code

Merge request reports

Loading
Loading