JanssenProject / JanssenProject/jans
Adopt crates.io trusted publishing for Cedarling publish workflow
- Dominant language
- Java
- Stars
- 648
- Forks
- 174
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 110
Description
## Summary
Follow up on the Cedarling publishing work to replace the long-lived `CARGO_REGISTRY_TOKEN` authentication in the manual crates.io publish workflow with crates.io trusted publishing (OIDC).
This is intentionally tracked separately from the first release so the initial publishing flow can land first, and the authentication hardening can follow afterward.
## Why
The current workflow publishes `http_utils` and `cedarling` using a reusable registry token. Moving to trusted publishing would reduce secret storage and rotation risk by using short-lived OIDC-based authentication instead of a long-lived token.
## Affected areas
- `.github/workflows/publish-cedarling.yml`
- Repository/release configuration needed to enable crates.io trusted publishing for this repository
## Required changes
- Configure crates.io trusted publishing for the `http_utils` and `cedarling` crates, if supported for this repository and release process
- Update the publish workflow to use the trusted publishing flow instead of `CARGO_REGISTRY_TOKEN`
- Keep the existing `dry_run` gating and crate-specific publish ordering/commands
- Ensure the real publish path continues to publish `http_utils` first, wait until it is visible, then publish `cedarling`
## Acceptance criteria
- The publish workflow no longer injects `CARGO_REGISTRY_TOKEN` for crates.io publishing
- The workflow uses OIDC/trusted publishing for the real publish path
- Dry-run behavior remains unchanged
- Publishing order and the crates.io visibility wait remain intact
- The workflow documentation or comments mention any required repository/crates.io setup steps
## Backlinks
- Requested from PR #14445: https://github.com/JanssenProject/jans/pull/14445
- Review discussion: https://github.com/JanssenProject/jans/pull/14445#discussion_r3481723989
Requested by @moabu.
Contributor guide
Research direction
Start with .github/workflows/publish-cedarling.yml, tracing the dry_run gate, crate-specific publish order, visibility wait, and current CARGO_REGISTRY_TOKEN use. Check the repository and crates.io trusted-publishing setup requirements, then verify that the real path uses OIDC while dry-run behavior, ordering, and documentation or comments remain intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- ci-cd, release, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 57/100