cfsp 1.0.1

A JVM Bytecode Manipulation Framework inspired by ASM.
Documentation
name: Continues Integration

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

jobs:
  build_test:
    runs-on: ubuntu-latest
    name: Build and Test
    env:
      RUSTFLAGS: -D warnings
    steps:
      - name: Checkout
        uses: actions/checkout@v1
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
      - name: Format check
        run: cargo fmt --check --all
      - name: Check build (Strict)
        run: cargo build --workspace --verbose --release
      - name: Setup cargo-tarpaulin
        run: |

          curl -s https://api.github.com/repos/xd009642/tarpaulin/releases/latest | \
            grep "browser_download_url.*x86_64-unknown-linux-musl.tar.gz" | cut -d : -f 2,3 | tr -d \" | wget -qi -
          tar -xzf cargo-tarpaulin-*.tar.gz
          mv cargo-tarpaulin ~/.cargo/bin/
      - name: Run tests
        run: cargo tarpaulin --out Xml --verbose --engine llvm
      - name: Upload coverage reports to Codecov
        uses: codecov/codecov-action@v3
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
          file: cobertura.xml
          flags: unittests
          name: code-coverage-report
          fail_ci_if_error: true