diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f2ea3cb6d..5246b8ea1f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,70 +14,71 @@ env: jobs: - coverage: + # coverage: - runs-on: ubuntu-latest + # runs-on: + # - ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Rust dependencies - uses: actions/cache@v1.1.2 - with: - # There's a problem with caching serde, hence we exclude it here - path: | - target - !target/**/*serde* - key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }} - - name: Install latest nightly - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - - name: coverage with tarpaulin - run: | - cargo install cargo-tarpaulin - make coverage - bash <(curl -s https://codecov.io/bash) + # steps: + # - uses: actions/checkout@v2 + # - name: Cache Rust dependencies + # uses: actions/cache@v1.1.2 + # with: + # # There's a problem with caching serde, hence we exclude it here + # path: | + # target + # !target/**/*serde* + # key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }} + # - name: Install latest nightly + # uses: actions-rs/toolchain@v1 + # with: + # profile: minimal + # toolchain: nightly + # override: true + # - name: coverage with tarpaulin + # run: | + # cargo install cargo-tarpaulin + # make coverage + # bash <(curl -s https://codecov.io/bash) - lint: - runs-on: ubuntu-latest - steps: - - name: Install system dependencies - run: | - sudo apt-get install -y libboost-all-dev - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 - sudo update-alternatives --set g++ "/usr/bin/g++-8" - - uses: actions/checkout@v2 - - name: Cache Rust dependencies - uses: actions/cache@v1.1.2 - with: - # There's a problem with caching serde, hence we exclude it here - path: | - target - !target/**/*serde* - key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }} - - name: Install latest nightly - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - components: rustfmt, clippy - - name: Validate release notes entry - run: ./newsfragments/validate_files.py - - name: Lint with rustfmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check - - name: Build - run: cargo build --all-features --verbose - - name: Lint with clippy - uses: actions-rs/cargo@v1 - with: - command: clippy - args: --all-targets --all-features -- -D warnings + # lint: + # runs-on: ubuntu-latest + # steps: + # - name: Install system dependencies + # run: | + # sudo apt-get install -y libboost-all-dev + # sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 + # sudo update-alternatives --set g++ "/usr/bin/g++-8" + # - uses: actions/checkout@v2 + # - name: Cache Rust dependencies + # uses: actions/cache@v1.1.2 + # with: + # # There's a problem with caching serde, hence we exclude it here + # path: | + # target + # !target/**/*serde* + # key: ${{ runner.OS }}-build-v2-${{ hashFiles('**/Cargo.lock') }} + # - name: Install latest nightly + # uses: actions-rs/toolchain@v1 + # with: + # profile: minimal + # toolchain: nightly + # override: true + # components: rustfmt, clippy + # - name: Validate release notes entry + # run: ./newsfragments/validate_files.py + # - name: Lint with rustfmt + # uses: actions-rs/cargo@v1 + # with: + # command: fmt + # args: --all -- --check + # - name: Build + # run: cargo build --all-features --verbose + # - name: Lint with clippy + # uses: actions-rs/cargo@v1 + # with: + # command: clippy + # args: --all-targets --all-features -- -D warnings test: # Build & Test runs on all platforms @@ -85,8 +86,10 @@ jobs: strategy: matrix: include: - - os: ubuntu-latest - - os: macOS-latest + # - os: ubuntu-latest + # - os: macOS-latest + - os: windows-latest + steps: - uses: actions/checkout@v2 - name: Cache Rust dependencies @@ -107,6 +110,17 @@ jobs: sudo apt-get install -y libboost-all-dev sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 sudo update-alternatives --set g++ "/usr/bin/g++-8" + - name: Install Z3 + if: startsWith(matrix.os, 'win') + uses: pavpanchekha/setup-z3@1.2.2 + - name: Install Boost + if: startsWith(matrix.os, 'win') + uses: MarkusJx/install-boost@v1.0.1 + id: install-boost + with: + boost_version: 1.73.0 + toolset: msvc14.1 + - name: Install latest nightly uses: actions-rs/toolchain@v1 with: @@ -115,29 +129,36 @@ jobs: override: true - name: Build run: cargo build --all-features --verbose + env: + BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }} + BOOST_VER: ${{ steps.install-boost.outputs.BOOST_VER}} - name: Run tests run: cargo test --workspace --features solc-backend --verbose + env: + BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }} + Boost_NO_BOOST_CMAKE: ON - wasm-test: - runs-on: ubuntu-latest - container: davesque/rust-wasm - steps: - - uses: actions/checkout@v2 - - name: Install latest nightly - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - override: true - - name: Run WASM tests - run: wasm-pack test --node -- --workspace + + # wasm-test: + # runs-on: ubuntu-latest + # container: davesque/rust-wasm + # steps: + # - uses: actions/checkout@v2 + # - name: Install latest nightly + # uses: actions-rs/toolchain@v1 + # with: + # profile: minimal + # toolchain: nightly + # override: true + # - name: Run WASM tests + # run: wasm-pack test --node -- --workspace release: # Only run this when we push a tag if: startsWith(github.ref, 'refs/tags/') runs-on: ${{ matrix.os }} - needs: [lint, test, wasm-test] + needs: [test] strategy: matrix: include: