ic-wasi-polyfill 0.4.2

The project provides polyfill implementation of *wasi_unstable* and *wasi_snapshot_preview1* functions using IC System API.
Documentation
name: Tests

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

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install Rust
      run: rustup update stable

    - name: Install target
      run: rustup target add wasm32-wasi

    - name: Install pocket-ic
      run: src/tests/download-pocket-ic.sh

    - name: Install wasi2ic
      run: cargo install wasi2ic
      
    - name: Install cargo-llvm-cov
      uses: taiki-e/install-action@cargo-llvm-cov
      
    - name: Run tests
      run: cargo test --verbose

    - name: Generate code coverage
      run: cargo llvm-cov --features report_wasi_calls,transient --ignore-filename-regex=wasi_mock.rs --workspace --lcov --output-path lcov.info

    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v3
      with:
        token: ${{ secrets.CODECOV_TOKEN }} 
        files: lcov.info
        fail_ci_if_error: true