ckb-vm-aot 0.23.0

CKB's Virtual machine
Documentation
trigger:
  branches:
    include:
    - '*'
  tags:
    include:
    - '*'

variables:
  TEST_SUITE_COMMIT: 3b173b04daa3fa7648cc7b8d5ad28cee01febb73

jobs:
  - job: WinCI
    pool:
      vmImage: 'windows-2019'
    steps:
      - template: devtools/azure/windows-dependencies.yml
      - script: make ci
        displayName: Run unit tests

  - job: OSXCI
    pool:
      vmImage: 'macOS-11'
    steps:
      - template: devtools/azure/osx-dependencies.yml
      - script: make ci
        displayName: Run unit tests

  - job: LinuxCI
    pool:
      vmImage: 'ubuntu-20.04'
    steps:
      - template: devtools/azure/linux-dependencies.yml
      - script: make ci
        displayName: Run ci

  - job: LinuxTestSuite
    pool:
      vmImage: 'ubuntu-18.04'
    steps:
      - template: devtools/azure/linux-dependencies.yml
      - script: |
          sudo apt install -y git \
                              build-essential \
                              autoconf \
                              automake \
                              autotools-dev \
                              libmpc-dev \
                              libmpfr-dev \
                              libgmp-dev \
                              gawk \
                              libtool \
                              patchutils \
                              libexpat-dev \
                              zlib1g-dev
      - script: |
          cargo build --release --example ckb-vm-runner &&
          docker run --rm -v `pwd`:/code nervos/ckb-riscv-gnu-toolchain:bionic-20210804 cp -r /riscv /code/riscv &&
          git clone https://github.com/nervosnetwork/riscv-tests &&
          cd riscv-tests &&
          git checkout -b 195180530e83af1839c91f9631eca35b6a5f992c &&
          git submodule update --init --recursive &&
          autoconf &&
          ./configure &&
          make isa &&
          cd .. &&
          for i in $(find . -regex "./riscv-tests/isa/rv64u[imc]-u-[a-z0-9_]*" | grep -v "fence_i" | grep -v "rv64ui-u-jalr"); do ./target/release/examples/ckb-vm-runner $i; done
        displayName: Run test suite