Skip to content

Backport #424

Backport #424 #108

Workflow file for this run

name: develop
on:
pull_request:
push:
jobs:
linux-x86-deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# https://github.com/EmbarkStudios/cargo-deny-action
- uses: EmbarkStudios/cargo-deny-action@v1
with:
arguments: --all-features
command: check advisories licenses sources bans
linux-x86-ci-generated:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ci-generated
run: make ci-generated
linux-x86-ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ci
run: rustup component add clippy rustfmt && make ci
linux-x86-ci-asm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ci-asm
run: make ci-asm
linux-x86-ci-asm-chaos:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ci-asm-chaos
run: make ci-asm-chaos
linux-x86-test-suite:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt install -y git \
build-essential \
autoconf \
automake \
autotools-dev \
libmpc-dev \
libmpfr-dev \
libgmp-dev \
gawk \
libtool \
patchutils \
libexpat-dev \
zlib1g-dev
- name: Run test suite
run: |
git clone https://github.com/nervosnetwork/ckb-vm-test-suite
ln -snf .. ckb-vm-test-suite/ckb-vm
docker run --rm -v `pwd`:/code nervos/ckb-riscv-gnu-toolchain:bionic-20210804 cp -r /riscv /code/riscv
cd ckb-vm-test-suite
git checkout 441e0f2149c097ccad133b040544dca13caeb01e
git submodule update --init --recursive
RISCV=`pwd`/../riscv ./test.sh
linux-x86-test-spawn:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run spawn tests in release
run: cargo test test_spawn --release --features=asm -- --nocapture
linux-arm-ci-asm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt install -y build-essential \
autoconf \
automake \
autotools-dev \
libmpc-dev \
libmpfr-dev \
libgmp-dev \
gawk \
libtool \
patchutils \
libexpat-dev \
zlib1g-dev \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
qemu-user-static
rustup target add aarch64-unknown-linux-gnu
- name: Run ci-asm
run: |
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc &&
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-C link-args=-L -C link-args=/usr/lib/gcc-cross/aarch64-linux-gnu/11" &&
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64-static -L /usr/aarch64-linux-gnu" &&
cargo test --features=asm --target aarch64-unknown-linux-gnu
linux-arm-test-suite:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y build-essential \
autoconf \
automake \
autotools-dev \
libmpc-dev \
libmpfr-dev \
libgmp-dev \
gawk \
libtool \
patchutils \
libexpat-dev \
zlib1g-dev
rustup target add aarch64-unknown-linux-gnu
- name: Build test suite
run: |
git clone https://github.com/nervosnetwork/ckb-vm-test-suite
ln -snf .. ckb-vm-test-suite/ckb-vm
docker run --rm -v `pwd`:/code nervos/ckb-riscv-gnu-toolchain:bionic-20210804 cp -r /riscv /code/riscv
cd ckb-vm-test-suite
git checkout 441e0f2149c097ccad133b040544dca13caeb01e
git submodule update --init --recursive
RISCV=`pwd`/../riscv ./test.sh --build-only
cd ..
- name: Run test suite
run: |
sudo apt install -y qemu binfmt-support qemu-user-static
sudo apt install -y gcc-multilib
sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu clang
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
cd ckb-vm-test-suite
cd binary && cargo build --release --target=aarch64-unknown-linux-gnu && cd ..
cd ..
docker run --rm -v `pwd`:/code -t --platform linux/arm64 arm64v8/rust bash -c "RISCV=/dummy /code/ckb-vm-test-suite/test.sh --prebuilt-prefix aarch64-unknown-linux-gnu"
macos-x86-ci-asm:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Run ci-asm
run: make ci-asm
windows-x86-ci-asm:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install dependencies
shell: pwsh
# https://github.com/ScoopInstaller/Install#for-admin
run: |
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
scoop install mingw
- name: Run ci-asm
shell: pwsh
run: |
make ci-asm