Skip to content

Merge pull request #1632 from radixdlt/test/add-serialize-to-attached… #12056

Merge pull request #1632 from radixdlt/test/add-serialize-to-attached…

Merge pull request #1632 from radixdlt/test/add-serialize-to-attached… #12056

Workflow file for this run

name: CI
on:
push:
branches:
- main
- develop
- docs
- alphanet
- betanet
- release\/*
pull_request:
env:
CARGO_TERM_COLOR: always
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check-code-format:
name: Check code format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Check format
run: bash ./check.sh
sbor-unit-tests:
name: Run SBOR unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p sbor
- name: Run tests (no_std)
run: cargo nextest run -p sbor --no-default-features --features alloc
- name: Run derive tests
run: cargo nextest run -p sbor-derive-common
sbor-integration-tests:
name: Run SBOR integration tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p sbor-tests
- name: Run tests (no_std)
run: cargo nextest run -p sbor-tests --no-default-features --features alloc
- name: Run bench
run: cargo bench -p sbor-tests
scrypto-unit-tests:
name: Run Scrypto unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p scrypto
- name: Run tests (no_std)
run: cargo nextest run -p scrypto --no-default-features --features alloc
- name: Run abi tests
run: cargo nextest run -p scrypto-schema
- name: Run derive tests
run: cargo nextest run -p scrypto-derive
scrypto-integration-tests:
name: Run Scrypto integration tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p scrypto-derive-tests
- name: Run tests with no_std
run: cargo nextest run -p scrypto-derive-tests --no-default-features --features alloc
scrypto-examples:
name: Run Scrypto examples
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Build faucet
run: cargo build --target wasm32-unknown-unknown --release
working-directory: assets/blueprints/faucet
- name: Build radiswap
run: cargo build --target wasm32-unknown-unknown --release
working-directory: assets/blueprints/radiswap
- name: Build no-std
run: cargo build --target wasm32-unknown-unknown --release
working-directory: examples/no-std
- name: Build and test hello-world
run: |
cargo build --target wasm32-unknown-unknown --release
cargo nextest run --release
working-directory: examples/hello-world
- name: Build and test everything
run: |
cargo build --target wasm32-unknown-unknown --release
cargo nextest run --release
working-directory: examples/everything
scrypto-stubs:
name: Check Scrypto Stubs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Check stubs
run: ./check_stubs.sh
radix-engine-build:
name: Run Radix Engine build (RocksDB)
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest-16-cores]
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Install dependency
run: sudo apt-get -y update && sudo apt-get -y install pkg-config libfreetype6-dev libfontconfig1-dev
- name: Build with resource tracking
run: cargo build --features resource_tracker
- name: Build with rocksdb
run: cargo test -p radix-engine-profiling -p radix-engine-stores --features rocksdb --release --no-run -- --nocapture
- name: Build bench with rocksdb
run: cargo bench --features rocksdb --no-run
radix-engine:
name: Run Radix Engine tests
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: |
cargo nextest run \
-p radix-engine-common \
-p radix-engine-derive \
-p radix-engine-interface \
-p radix-engine \
-p radix-engine-tests
./check_stack_usage.sh
radix-engine-release:
# Run tests in release variant.
# We are particularly interested with the flags:
# - debug-assertions,
# - overflow-checks
# which are false for release variant
name: Run Radix Engine tests (release)
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: |
cargo nextest run \
--release \
-p radix-engine-common \
-p radix-engine-derive \
-p radix-engine-interface \
-p radix-engine \
-p radix-engine-tests
radix-engine-no-std:
name: Run Radix Engine tests (no_std)
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: |
cargo nextest run \
--no-default-features --features alloc \
-p radix-engine-common \
-p radix-engine-derive \
-p radix-engine-interface \
-p radix-engine \
-p radix-engine-tests
radix-engine-wasmer:
name: Run Radix Engine tests (wasmer)
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: |
cargo nextest run \
--features wasmer \
-p radix-engine-common \
-p radix-engine-derive \
-p radix-engine-interface \
-p radix-engine \
-p radix-engine-tests
radix-engine-bench:
name: Run Radix Engine benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run bench
run: cargo bench
working-directory: radix-engine-tests
radix-engine-common-bench:
name: Run Radix Engine common benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run bench
run: cargo bench
working-directory: radix-engine-common
transaction:
name: Run transaction tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p transaction
transaction-scenarios:
name: Run transaction scenarios
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Run tests
run: cargo nextest run -p transaction-scenarios
cli-resim-rtmc-rtmd:
name: Run CLI tests (resim & rtmc & rtmd)
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest-16-cores, windows-latest-16-cores]
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- uses: radixdlt/rust-cache@allow_registry_src_caching
with:
prefix-key: ""
shared-key: simulator-debug-${{ runner.os }}
cache-directories: ~/.cargo/registry/src/**/librocksdb-sys-*
workspaces: simulator
- name: Run Unit tests
run: cargo nextest run
working-directory: simulator
- name: Run tests
run: bash ./tests/resim.sh
working-directory: simulator
- name: Run tests
run: bash ./tests/manifest.sh
working-directory: simulator
cli-scrypto:
name: Run CLI tests (scrypto)
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest-16-cores, windows-latest-16-cores, macos-latest]
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- uses: radixdlt/rust-cache@allow_registry_src_caching
with:
prefix-key: ""
shared-key: simulator-debug-${{ runner.os }}
cache-directories: ~/.cargo/registry/src/**/librocksdb-sys-*
workspaces: simulator
- name: Run tests
run: bash ./tests/scrypto.sh
working-directory: simulator
cargo-check:
name: Run cargo check
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest-16-cores]
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Cargo Check
run: cargo check --all
cargo-check-post-run-db-check:
name: Run cargo check
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest-16-cores]
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Cargo Check
run: cargo check --all --features post_run_db_check
determinism-test:
name: Run determinism test
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Pull LFS assets
run: git lfs pull
- name: Replay transactions
run: |
cargo run --release --bin replay -- \
execute-in-memory ../assets-lfs/babylon-mainnet-transactions-2023-10-11.tar.gz \
--max-version 50000 \
--breakpoints 10:91850a10dad5ec6d9a974663e87243b3f3ff8f8b1c0dd74135e8ddd097aa6276,100:8ac9b0caf4daad6f821038f325b215932e90fbabce089ca42bc0330c867aa8f8,1000:6b621e9c7f9674c3d71832aec822b695b0e90010dc6158a18e43fbacf296ef69,500000:7dd4403a757f43f4a885e914b8dc38086fdbaf96082fa90067acf1500075e85d
working-directory: simulator