regit-identifiers 1.0.1

Securities identifier validation in pure Rust — ISIN, CUSIP, SEDOL, LEI, BIC, MIC, FIGI, CFI and national numbers. Check-digit algorithms, parsing, and conversion. Zero dependencies, no_std, no alloc.
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read

env:
  CARGO_TERM_COLOR: always

jobs:
  check:
    name: Quality Gate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5

      # Honour rust-toolchain.toml: installs the pinned channel (1.95.0)
      # with declared components and targets.
      - name: Install Rust toolchain (from rust-toolchain.toml)
        run: rustup show

      - uses: Swatinem/rust-cache@v2

      - name: Format
        run: cargo fmt --all --check

      - name: Clippy (all targets, all features)
        run: cargo clippy --all-targets --all-features -- -D warnings

      - name: Test (default features)
        run: cargo test

      - name: Test (no default features)
        run: cargo test --no-default-features

      - name: Doc
        run: cargo doc --no-deps --all-features

      - name: Deny
        uses: EmbarkStudios/cargo-deny-action@v2

  wasm:
    name: WASM build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5

      - name: Install Rust toolchain (from rust-toolchain.toml)
        run: rustup show

      - uses: Swatinem/rust-cache@v2

      - name: Build for wasm32-unknown-unknown
        run: cargo build --target wasm32-unknown-unknown --release

  no-std:
    name: no_std build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5

      # rust-toolchain.toml declares targets = [..., "thumbv7em-none-eabi"];
      # thumbv7em-none-eabi has no `std` at all, so a successful build is a
      # proof the crate is genuinely no_std.
      - name: Install Rust toolchain (from rust-toolchain.toml)
        run: rustup show

      - uses: Swatinem/rust-cache@v2

      - name: Build for thumbv7em-none-eabi (no default features)
        run: cargo build --target thumbv7em-none-eabi --no-default-features

      - name: Build for thumbv7em-none-eabi (with mic-registry)
        run: cargo build --target thumbv7em-none-eabi