z-base-32 0.1.5

z-base-32: human-oriented base-32 encoding
Documentation
name: Rust

on:
  push:
    branches:
      - master
    tags:
      - '*'
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy, rustfmt

      - name: Lint
        run: cargo clippy

      - name: Check format
        run: cargo fmt --check

      - name: Test
        run: cargo test --all-features

  release:
    name: Release
    runs-on: ubuntu-latest
    environment: release
    if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
    needs: [test]
    permissions:
      # Use to sign the release artifacts
      id-token: write
      # Used to upload release artifacts
      contents: write
      # Used to generate artifact attestation
      attestations: write
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable

      - name: Publish on crates.io
        run: |
          cargo login ${{ secrets.CRATES_TOKEN }}
          cargo publish