-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use github action instead of Azure pipelines (#386)
* Using github actions to rewrite: LinuxCIDeps * Using github actions to rewrite: LinuxCIGenerated * Using github actions to rewrite: LinuxCIASM * Using github actions to rewrite: LinuxSpawnStackCheck * Using github actions to rewrite: LinuxCI * Using github actions to rewrite: OSXCI * Using github actions to rewrite: WinCI * Using github actions to rewrite: LinuxCIASMChaos * Using github actions to rewrite: LinuxTestSuite * Using github actions to rewrite: LinuxArm64AsmCI * Using github actions to rewrite: LinuxArm64TestSuite * Clean codes * Use independent jobs * Use clearer step names
- Loading branch information
Showing
6 changed files
with
179 additions
and
297 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
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 86480364649c9cb6ac01674fe51156e7cf50a31a | ||
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 86480364649c9cb6ac01674fe51156e7cf50a31a | ||
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 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: | ||
# We must use windows-2019 here, otherwise we will encounter some bugs, for futher details, see | ||
# https://github.com/yasm/yasm/issues/153 | ||
runs-on: windows-2019 | ||
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 llvm | ||
scoop install yasm | ||
- name: Run ci-asm | ||
shell: pwsh | ||
run: | | ||
$env:path="C:\Users\runneradmin\scoop\apps\llvm\current;"+$env:path | ||
$env:path="C:\Users\runneradmin\scoop\apps\yasm\current;"+$env:path | ||
make ci-asm |
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
Oops, something went wrong.