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 passedMR 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.