vicis 0.1.0

Manipulate LLVM-IR in Pure Rust
Documentation
name: Rust

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: nightly
    - name: Install dependencies
      env: 
        ACCEPT_EULA: Y
      run:  |
            rustup override set nightly && \
            # sudo -E apt-get update && \
            # sudo -E dpkg --configure -a && \
            # sudo -E dpkg --remove containers-common && \
            # sudo -E apt-get upgrade -y && \
            sudo -E apt-get install -y zlib1g-dev apt-utils && \
            sudo -E apt-get install -y opt libedit-dev build-essential make && \
            sudo -E apt-get install -y cmake g++ clang pkg-config jq && \
            sudo -E apt-get install -y libcurl4-openssl-dev libelf-dev libdw-dev binutils-dev libiberty-dev && \
            cargo install cargo-kcov && \
            cargo kcov --print-install-kcov-sh | sh
    - name: Run tests
      run: cargo test --verbose
    - name: Run kcov
      run: |
            REPORT=$(find ./target/debug -maxdepth 2 -regex '.+/deps/.*' -a ! -regex '.+\.\(d\|rlib\|rmeta\|so\)'); \
            for file in $REPORT; do \
              echo $file; \
              kcov --include-pattern=vicis/src --exclude-pattern=/.cargo ./target/cov "$file"; \
            done; \
            bash <(curl -s https://codecov.io/bash) -s ./target/cov