flashloan-rs 0.2.3

Minimal Multicall3 Flashloan Module
Documentation
name: ci

on: [push]

jobs:
  tests:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal
          override: true

      - uses: Swatinem/rust-cache@v1
        with:
          cache-on-failure: true

      - name: Install Foundry
        uses: onbjerg/foundry-toolchain@v1
        with:
          version: nightly

      - name: cargo test
        run: cargo test --all --all-features

  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          profile: minimal
          components: rustfmt, clippy
          override: true

      - uses: Swatinem/rust-cache@v1
        with:
          cache-on-failure: true

      - name: cargo fmt
        run: cargo +nightly fmt --all -- --check

      - name: cargo clippy
        run: cargo +nightly clippy --all --all-features -- -D warnings

  build:
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal
          override: true

      - uses: Swatinem/rust-cache@v1
        with:
          cache-on-failure: true

      - name: build
        id: build
        continue-on-error: true
        run: cargo +nightly build --all

  contract-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install Foundry
        uses: onbjerg/foundry-toolchain@v1
        with:
          version: nightly

      - name: Install Dependencies
        run: forge install

      - name: Run Tests
        run: forge test
        env:
          FOUNDRY_PROFILE: ci

  snapshot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install Foundry
        uses: foundry-rs/foundry-toolchain@v1
        with:
          version: nightly

      - name: Install deps
        run: forge install

      - name: Check contract sizes
        run: forge build --sizes

      - name: Check gas snapshots
        run: forge snapshot --check