Use common GH action setup-env
#12041
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: 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 | |
- uses: ./.github/actions/setup-job | |
- name: Check format | |
run: bash ./check.sh | |
sbor-unit-tests: | |
name: Run SBOR unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- name: Run tests | |
run: cargo nextest run -p transaction | |
transaction-scenarios: | |
name: Run transaction scenarios | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 | |
- uses: ./.github/actions/setup-job | |
- 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 |