Backport #345 and #407 (#411) #70
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |