bytes-lit 0.0.3

Create byte slices from literal integers.
Documentation
name: Rust

on:
  push:
    branches: [main]
  pull_request:
  release:
    types: [published]

env:
  RUSTFLAGS: -D warnings

jobs:

  complete:
    if: always()
    needs: [fmt, rust-analyzer-compat, build-and-test, docs]
    runs-on: ubuntu-latest
    steps:
    - if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
      run: exit 1

  fmt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update
    - run: cargo fmt --all --check

  rust-analyzer-compat:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update
    - run: rustup +nightly component add rust-analyzer
    - name: Check if rust-analyzer encounters any errors parsing project
      run: rustup run nightly rust-analyzer analysis-stats . 2>&1 | (! grep ERROR)

  build-and-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update
    - run: cargo build
    - run: cargo test

  docs:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update
    - run: cargo doc

  publish:
    if: github.event_name == 'release'
    needs: [complete]
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - run: rustup update
    - run: rustup target add wasm32-unknown-unknown
    - run: cargo install --locked --version 0.2.35 cargo-workspaces
    - run: make publish
      env:
        CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}