From 4318ec245f1d4f73aceb133a126d1e6d7d1842a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Sat, 14 Feb 2026 00:06:49 +0300 Subject: [PATCH] Adopt Trusted Publishing --- .github/workflows/publish.yml | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..b790096 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,47 @@ +name: Publish to crates.io +on: + push: + tags: [ + 'belt-ctr-v*', + 'cbc-v*', + 'cfb-mode-v*', + 'cfb8-v*', + 'ctr-v*', + 'cts-v*', + 'ige-v*', + 'ofb-v*', + 'pcbc-v*', + ] + +jobs: + publish: + runs-on: ubuntu-latest + environment: publish + permissions: + id-token: write + steps: + - uses: actions/checkout@v6 + - uses: rust-lang/crates-io-auth-action@v1 + id: auth + + - name: Extract Crate Name and Version + run: | + TAG_NAME="${{ github.ref_name }}" + CRATE_NAME=${TAG_NAME%-v*} + CRATE_VERSION=${TAG_NAME##*-v} + echo $CRATE_NAME $CRATE_VERSION + echo "CRATE_NAME=${CRATE_NAME}" >> $GITHUB_ENV + echo "CRATE_VERSION=${CRATE_VERSION}" >> $GITHUB_ENV + + - name: Check crate version + working-directory: ${{ env.CRATE_NAME }} + run: | + CRATE_TOML_VERSION=$(grep "^version =" Cargo.toml | cut -d'"' -f2) + echo $CRATE_TOML_VERSION + [[ $CRATE_TOML_VERSION == $CRATE_VERSION ]] + + - name: Publish + working-directory: ${{ env.CRATE_NAME }} + env: + CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }} + run: cargo publish