JanssenProject / JanssenProject/jans

Adopt crates.io trusted publishing for Cedarling publish workflow

Open
#14,452 1 comment 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.