Skip to content

[gh-678] refactor and support signatures and transactions for Ethereum and Rooch. #1158

[gh-678] refactor and support signatures and transactions for Ethereum and Rooch.

[gh-678] refactor and support signatures and transactions for Ethereum and Rooch. #1158

name: Check-Build-Test
on:
push:
branches: ["main"]
paths-ignore:
- 'docs/**'
- 'fixtures/**'
- 'kube/**'
- '**.md'
pull_request:
branches: ["main"]
paths-ignore:
- 'docs/**'
- 'fixtures/**'
- 'kube/**'
- '**.md'
env:
CARGO_TERM_COLOR: always
jobs:
check_build_test:
name: Check-Build-Test
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses: rooch-network/rooch/.github/actions/rust-setup@main
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '18.x'
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.pnpm-store
key: ${{ runner.OS }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.OS }}-pnpm-
## Build and test app start
- name: Install pnpm dependencies
run: npm install pnpm -g && pnpm install
- name: Gen SDK dependencie Code
run: pnpm sdk gen
- name: Lint
run: pnpm lint
- name: Build SDK
run: pnpm sdk build
- name: Test SDK
run: pnpm sdk test
## Build and test sdk end
# with:
# fetch-depth: 0
- name: Check code format
run: cargo fmt -- --check
- name: Lint rust sources
run: ./scripts/pr.sh -c
- name: Build
run: cargo build
- name: Execute rust tests
run: cargo nextest run --workspace --all-features --exclude rooch-framework-tests --exclude rooch-integration-test-runner -v
- name: Execute the framework test with 1 thread
run: cargo nextest run -p rooch-framework-tests -p rooch-integration-test-runner -v -j 1
- name: Run CLI integration test
# cargo-nextest does not support the CLI integration test powered by Cucumber Rust.
# Use cargo test to run CLI integration tests.
# TODO: FIXME
run: cargo test -p testsuite --test integration
- name: Run Rooch init
run: cargo run --bin rooch init
- name: Execute stdlib tests
run: cargo run --bin rooch move test -p moveos/moveos-stdlib/moveos-stdlib/
- name: Execute framework tests
run: cargo run --bin rooch move test -p crates/rooch-framework/
- name: Build and test example projects
run: ./scripts/pr.sh -e
- uses: CatChen/check-git-status-action@v1
with:
fail-if-not-clean: true # optional
push-if-not-clean: false # optional
targets: "." #optional