rlnc 0.3.0

Random Linear Network Coding
Documentation
# Taken from https://github.com/itzmeanjan/ChalametPIR/blob/68e6e0e440be1d2ee9d57338052a421ec9f30113/.github/workflows/test_ci.yml
name: Test RLNC

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ${{matrix.os}}
    strategy:
      matrix:
        # See https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job#standard-github-hosted-runners-for-public-repositories
        # for available targets.
        os: [
            ubuntu-latest, # x86-64
            ubuntu-24.04-arm, # arm64

            macos-13, # x86_64
            macos-latest, # arm64

            windows-latest, # x86_64
            windows-11-arm, # arm64
          ]

    steps:
      - uses: actions/checkout@v4
      - uses: actions-rust-lang/setup-rust-toolchain@v1

      - name: Build and Test on ${{ matrix.os }}
        run: make test

      - name: Build and Test on wasm32 target
        if: ${{ matrix.os == 'ubuntu-latest' }}
        run: |
          rustup target add wasm32-wasip1
          cargo install wasmtime-cli --locked
          make test-wasm

      - name: Run examples
        run: make example