Skip to content

chore(ci): migrate to trusted publishing#2593

Open
dannycjones wants to merge 2 commits into
apache:mainfrom
dannycjones:trusted-publishing
Open

chore(ci): migrate to trusted publishing#2593
dannycjones wants to merge 2 commits into
apache:mainfrom
dannycjones:trusted-publishing

Conversation

@dannycjones

@dannycjones dannycjones commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

This implements trusted publishing with crates.io, which closes #1539. I'd propose to close that issue after the first successful release.

What changes are included in this PR?

This simply migrates the release workflow to use credentials obtained using trusted publishing.

This is the guide followed for the change: https://crates.io/docs/trusted-publishing

This change does not include the required changes on crates.io, which will need a committer to perform. I will add the remaining steps to #1539.

Are these changes tested?

No. The changes will be verified with the first public release.

@dannycjones dannycjones force-pushed the trusted-publishing branch from 8762e94 to 34501f4 Compare June 5, 2026 17:55

@kevinjqliu kevinjqliu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

looks like we'd have to add trusted publishing to each crate separately. @blackmwk is the common owner for all the crates https://crates.io/users/liurenjie1024

Comment on lines -29 to -31
permissions:
contents: read

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: could we keep this? it looks redundant but it sets the default permission for all the blocks.

we can add more permissions by explicitly overriding each job

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll restore for now.

I think the other thing we could consider is permissions: {} such that every job must have its list of permissions required.

@blackmwk blackmwk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dannycjones for this pr, just one same comment as @kevinjqliu .

Comment on lines -29 to -31
permissions:
contents: read

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@blackmwk

Copy link
Copy Markdown
Contributor

I've finished crates.io side changes, let's see if it works.

@dannycjones

Copy link
Copy Markdown
Contributor Author

I've finished crates.io side changes, let's see if it works.

I'd recommend we create a GH team for the Apache Iceberg committers, as the team can be added to all the crates. You do still need an active committer as the owner, as team members cannot change crate ownership themselves, but it would make it easier to grant permissions across the broad list of crates.

@dannycjones dannycjones requested a review from blackmwk June 15, 2026 09:24
@dannycjones

Copy link
Copy Markdown
Contributor Author

Thanks both, updated to restore the default content: read permission.

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.

Investigate trusted publishing in crates.io

3 participants