Skip to content

Commit 1403f56

Browse files
authored
Adopt Trusted Publishing (#104)
1 parent 4acfa1a commit 1403f56

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

.github/workflows/publish.yml

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

0 commit comments

Comments
 (0)