Skip to content

Commit d2dcdcd

Browse files
authored
Add Trusted Publishing config (#1448)
Adapted from the config for the "traits" repo: https://github.com/RustCrypto/traits/blob/bbfe1af/.github/workflows/publish.yml
1 parent 3b8c5f9 commit d2dcdcd

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

.github/workflows/publish.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Publish to crates.io
2+
on:
3+
push:
4+
tags: [
5+
'aarch64-dit-v*',
6+
'blobby-v*',
7+
'block-buffer-v*',
8+
'block-padding-v*',
9+
'cmov-v*',
10+
'cpubits-v*',
11+
'cpufeatures-v*',
12+
'ctutils-v*',
13+
'dbl-v*',
14+
'digest-io-v*',
15+
'hex-literal-v*',
16+
'inout-v*',
17+
'opaque-debug-v*',
18+
'zeroize-v*'
19+
]
20+
21+
jobs:
22+
publish:
23+
runs-on: ubuntu-latest
24+
environment: publish
25+
permissions:
26+
id-token: write
27+
steps:
28+
- uses: actions/checkout@v6
29+
- uses: rust-lang/crates-io-auth-action@v1
30+
id: auth
31+
32+
- name: Extract Crate Name and Version
33+
run: |
34+
TAG_NAME="${{ github.ref_name }}"
35+
CRATE_NAME=${TAG_NAME%-v*}
36+
CRATE_VERSION=${TAG_NAME##*-v}
37+
echo $CRATE_NAME $CRATE_VERSION
38+
echo "CRATE_NAME=${CRATE_NAME}" >> $GITHUB_ENV
39+
echo "CRATE_VERSION=${CRATE_VERSION}" >> $GITHUB_ENV
40+
41+
- name: Check crate version
42+
working-directory: ${{ env.CRATE_NAME }}
43+
run: |
44+
CRATE_TOML_VERSION=$(grep "^version =" Cargo.toml | cut -d'"' -f2)
45+
echo $CRATE_TOML_VERSION
46+
[[ $CRATE_TOML_VERSION == $CRATE_VERSION ]]
47+
48+
- name: Publish
49+
working-directory: ${{ env.CRATE_NAME }}
50+
env:
51+
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
52+
run: cargo publish

0 commit comments

Comments
 (0)