twitter_snowflake 1.0.3

A lightweight, efficient library that implements Twitter's Snowflake algorithm
Documentation
name: CI

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

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
        rust: [stable, nightly]

    steps:
    - uses: actions/checkout@v4
    - name: Setup Rust
      uses: dtolnay/rust-toolchain@v1
      with:
        toolchain: ${{ matrix.rust }}
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose
    - name: Run benchmarks
      run: cargo bench --verbose

  msrv:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Parse MSRV from Cargo.toml
      id: msrv
      run: |
        version=$(grep 'rust-version' Cargo.toml | sed 's/.*"\(.*\)"/\1/')
        echo "version=$version" >> $GITHUB_OUTPUT
    - name: Setup Rust (MSRV)
      uses: dtolnay/rust-toolchain@v1
      with:
        toolchain: ${{ steps.msrv.outputs.version }}
    - name: Build (MSRV)
      run: cargo build --verbose
    - name: Run tests (MSRV)
      run: cargo test --verbose

  audit:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Setup Rust
      uses: dtolnay/rust-toolchain@v1
      with:
        toolchain: stable
    - name: Install cargo-audit
      run: cargo install cargo-audit --locked
    - name: Run cargo audit
      run: cargo audit