Skip to content

Commit a5de97a

Browse files
authored
Add Trusted Publishing config (#2221)
1 parent 48cb730 commit a5de97a

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/publish.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Publish to crates.io
2+
on:
3+
push:
4+
tags: [
5+
"base16ct/v**",
6+
"base32ct/v**",
7+
"base64ct/v**",
8+
"cmpv2/v**",
9+
"cms/v**",
10+
"const-oid/v**",
11+
"crmf/v**",
12+
"der/v**",
13+
"gss-api/v**",
14+
"mcf/v**",
15+
"pem-rfc7468/v**",
16+
"phc/v**",
17+
"pkcs1/v**",
18+
"pkcs5/v**",
19+
"pkcs8/v**",
20+
"pkcs12/v**",
21+
"sec1/v**",
22+
"serdect/v**",
23+
"spki/v**",
24+
"tai64/v**",
25+
"x509-cert/v**",
26+
"x509-ocsp/v**",
27+
"x509-tsp/v**"
28+
]
29+
30+
jobs:
31+
publish:
32+
runs-on: ubuntu-latest
33+
environment: publish
34+
permissions:
35+
id-token: write
36+
steps:
37+
- uses: actions/checkout@v6
38+
- uses: rust-lang/crates-io-auth-action@v1
39+
id: auth
40+
41+
- name: Extract Crate Name and Version
42+
run: |
43+
TAG_NAME="${{ github.ref_name }}"
44+
CRATE_NAME=${TAG_NAME%/v**}
45+
CRATE_VERSION=${TAG_NAME##*/v}
46+
echo $CRATE_NAME $CRATE_VERSION
47+
echo "CRATE_NAME=${CRATE_NAME}" >> $GITHUB_ENV
48+
echo "CRATE_VERSION=${CRATE_VERSION}" >> $GITHUB_ENV
49+
50+
- name: Check crate version
51+
working-directory: ${{ env.CRATE_NAME }}
52+
run: |
53+
CRATE_TOML_VERSION=$(grep "^version =" Cargo.toml | cut -d'"' -f2)
54+
echo $CRATE_TOML_VERSION
55+
[[ $CRATE_TOML_VERSION == $CRATE_VERSION ]]
56+
57+
- name: Publish
58+
working-directory: ${{ env.CRATE_NAME }}
59+
env:
60+
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
61+
run: cargo publish

0 commit comments

Comments
 (0)