Skip to content

Commit 2c27044

Browse files
committed
Adopt Trusted Publishing
1 parent 8c1bf90 commit 2c27044

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/publish.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Publish to crates.io
2+
on:
3+
push:
4+
tags: [
5+
'ascon-hash256-v*',
6+
'bash-hash-v*',
7+
'belt-hash-v*',
8+
'blake2-v*',
9+
'fsb-v*',
10+
'gost94-v*',
11+
'groestl-v*',
12+
'jh-v*',
13+
'k12-v*',
14+
'kupyna-v*',
15+
'md2-v*',
16+
'md4-v*',
17+
'md5-v*',
18+
'ripemd-v*',
19+
'sha1-checked-v*',
20+
'sha1-v*',
21+
'sha2-v*',
22+
'sha3-v*',
23+
'shabal-v*',
24+
'skein-v*',
25+
'sm3-v*',
26+
'streebog-v*',
27+
'tiger-v*',
28+
'whirlpool-v*',
29+
]
30+
31+
jobs:
32+
publish:
33+
runs-on: ubuntu-latest
34+
environment: publish
35+
permissions:
36+
id-token: write
37+
steps:
38+
- uses: actions/checkout@v6
39+
- uses: rust-lang/crates-io-auth-action@v1
40+
id: auth
41+
42+
- name: Extract Crate Name and Version
43+
run: |
44+
TAG_NAME="${{ github.ref_name }}"
45+
CRATE_NAME=${TAG_NAME%-v*}
46+
CRATE_VERSION=${TAG_NAME##*-v}
47+
echo $CRATE_NAME $CRATE_VERSION
48+
echo "CRATE_NAME=${CRATE_NAME}" >> $GITHUB_ENV
49+
echo "CRATE_VERSION=${CRATE_VERSION}" >> $GITHUB_ENV
50+
51+
- name: Check crate version
52+
working-directory: ${{ env.CRATE_NAME }}
53+
run: |
54+
CRATE_TOML_VERSION=$(grep "^version =" Cargo.toml | cut -d'"' -f2)
55+
echo $CRATE_TOML_VERSION
56+
[[ $CRATE_TOML_VERSION == $CRATE_VERSION ]]
57+
58+
- name: Publish
59+
working-directory: ${{ env.CRATE_NAME }}
60+
env:
61+
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
62+
run: cargo publish

0 commit comments

Comments
 (0)