bitcode 0.5.1

bitcode is a bitwise binary serializer
Documentation
name: Build

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          # Nightly toolchain must ship the `rust-std` component for
          # `i686-unknown-linux-gnu` and `mips64-unknown-linux-gnuabi64`.
          # In practice, `rust-std` almost always ships for
          # `i686-unknown-linux-gnu` so we just need to check this page for a
          # compatible nightly:
          # https://rust-lang.github.io/rustup-components-history/mips64-unknown-linux-gnuabi64.html
          toolchain: nightly-2023-07-04
          override: true
          components: rustfmt, miri
      - name: Lint
        run: cargo fmt --check
      - name: Test (debug)
        run: cargo test
      - name: Install i686 and GCC multilib
        run: rustup target add i686-unknown-linux-gnu && sudo apt update && sudo apt install -y gcc-multilib
      - name: Test (32-bit)
        run: cargo test --target i686-unknown-linux-gnu
      - name: Setup Miri
        run: cargo miri setup
      - name: Test (miri)
        run: MIRIFLAGS="-Zmiri-permissive-provenance" cargo miri test
      - name: Setup Miri (big-endian)
        run: rustup target add mips64-unknown-linux-gnuabi64 && cargo miri setup --target mips64-unknown-linux-gnuabi64
      - name: Test (miri big-endian)
        run: MIRIFLAGS="-Zmiri-permissive-provenance" cargo miri test --target mips64-unknown-linux-gnuabi64