Skip to content

ssh-protocol: enable workspace-level lints (#524) #4

ssh-protocol: enable workspace-level lints (#524)

ssh-protocol: enable workspace-level lints (#524) #4

Workflow file for this run

name: Publish to crates.io
on:
push:
tags: [
"ssh-cipher/v**",
"ssh-derive/v**",
"ssh-encoding/v**",
"ssh-key/v**",
"ssh-protocol/v**",
]
jobs:
publish:
runs-on: ubuntu-latest
environment: publish
permissions:
id-token: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: rust-lang/crates-io-auth-action@bbd81622f20ce9e2dd9622e3218b975523e45bbe # v1.0.4
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 -m 1 "^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