Skip to content

Commit

Permalink
ci: Speed up tests by giving correct arguments (#2917)
Browse files Browse the repository at this point in the history
  • Loading branch information
breathx authored Jul 11, 2023
1 parent 54e1c3c commit 5bb6012
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 34 deletions.
25 changes: 8 additions & 17 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -182,24 +182,21 @@ jobs:
run: ./scripts/gear.sh build examples-proc

- name: "Test: Gear pallet tests with lazy pages"
run: |
cargo test -p pallet-gear --features=lazy-pages --release --locked
cargo test -p pallet-gear-debug --features=lazy-pages --release --locked
cargo test -p pallet-gear-payment --features=lazy-pages --release --locked
run: ./scripts/gear.sh test pallet --features lazy-pages --release --locked

- name: "Test: Gear workspace"
run: ./scripts/gear.sh test gear --exclude gclient --exclude gcli --exclude gsdk --features pallet-gear-debug/lazy-pages --release --locked

- name: "Test: gsdk tests"
run: ./scripts/gear.sh test gsdk
run: ./scripts/gear.sh test gsdk --release

- name: "Test: `gcli`"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./scripts/gear.sh test gcli --release --locked --retries 3

- name: "Test: Client tests"
run: ./scripts/gear.sh test client
run: ./scripts/gear.sh test client --release

- name: "Test: Runtime benchmarks and benchmark tests work"
run: |
Expand Down Expand Up @@ -380,17 +377,15 @@ jobs:
run: ./scripts/gear.sh build examples-proc

- name: "Test: gsdk tests"
run: ./scripts/gear.sh test gsdk
run: ./scripts/gear.sh test gsdk --release

- name: "Test: Client tests"
run: ./scripts/gear.sh test client
run: ./scripts/gear.sh test client --release

- name: "Test: Lazy pages"
run: >-
cargo nextest run
-p pallet-gear
-p pallet-gear-debug
-p pallet-gear-payment
-p "pallet-*"
-p gear-lazy-pages
-p gear-runtime-interface
--features=lazy-pages
Expand Down Expand Up @@ -493,9 +488,7 @@ jobs:
- name: "Test: Lazy pages"
run: >-
cargo xwin test
-p pallet-gear
-p pallet-gear-debug
-p pallet-gear-payment
-p "pallet-*"
-p gear-lazy-pages
-p gear-runtime-interface
--features=lazy-pages
Expand Down Expand Up @@ -556,9 +549,7 @@ jobs:
- name: "Test: Lazy pages"
run: >-
cargo nextest run
-p pallet-gear
-p pallet-gear-debug
-p pallet-gear-payment
-p "pallet-*"
-p gear-lazy-pages
-p gear-runtime-interface
--features=lazy-pages
Expand Down
10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,10 @@ test-gear-release: examples # \
test-gsdk: node-release
@ ./scripts/gear.sh test gsdk

.PHONY: test-gsdk-release
test-gsdk-release: node-release
@ ./scripts/gear.sh test gsdk --release

.PHONY: test-gcli
test-gcli: node
@ ./scripts/gear.sh test gcli
Expand All @@ -232,7 +236,11 @@ test-pallet-release:

.PHONY: test-client
test-client: node-release examples
@ ./scripts/gear.sh test client --run-node
@ ./scripts/gear.sh test client

.PHONY: test-client-release
test-client-release: node-release examples
@ ./scripts/gear.sh test client --release

.PHONY: test-syscalls-integrity
test-syscalls-integrity:
Expand Down
5 changes: 3 additions & 2 deletions gclient/tests/memory_dump.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,16 @@ async fn memory_dump() -> Result<()> {
// Check that blocks are still running
assert!(listener.blocks_running().await?);
// Calculate gas amount needed for initialization
let payload = b"15".to_vec();
let gas_info = api
.calculate_upload_gas(None, WASM_BINARY.to_vec(), vec![], 0, true)
.calculate_upload_gas(None, WASM_BINARY.to_vec(), payload.clone(), 0, true)
.await?;
// Upload and init the program
let (message_id, program_id, _hash) = api
.upload_program_bytes(
WASM_BINARY,
gclient::now_micros().to_le_bytes(),
b"15".to_vec(),
payload,
gas_info.min_limit,
0,
)
Expand Down
4 changes: 2 additions & 2 deletions scripts/ci_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ echo "Test: `gcli`"
./scripts/gear.sh test gcli --release --locked --retries 3

echo "Test: Client tests"
./scripts/gear.sh test client
./scripts/gear.sh test client --release

echo "Test: gsdk tests"
./scripts/gear.sh test gsdk
./scripts/gear.sh test gsdk --release

echo "Test: Runtime benchmarks and benchmark tests work"
cargo build -p gear-cli --release --features=runtime-benchmarks,runtime-benchmarks-checkers
Expand Down
38 changes: 26 additions & 12 deletions scripts/src/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,39 @@ workspace_test() {
}

gsdk_test() {
$CARGO test -p gsdk
$CARGO test -p gsdk --features vara-testing
if [ "$CARGO" = "cargo xwin" ]; then
$CARGO test -p gsdk "$@"
$CARGO test -p gsdk --features vara-testing "$@"
else
cargo nextest run -p gsdk --profile ci --no-fail-fast "$@"
cargo nextest run -p gsdk --features vara-testing --profile ci --no-fail-fast "$@"
fi
}

gcli_test() {
cargo nextest run -p gcli "$@" --profile ci --no-fail-fast
cargo nextest run -p gcli "$@" --features vara-testing --profile ci --no-fail-fast
if [ "$CARGO" = "cargo xwin" ]; then
$CARGO test -p gcli "$@"
$CARGO test -p gcli --features vara-testing "$@"
else
cargo nextest run -p gcli --profile ci --no-fail-fast "$@"
cargo nextest run -p gcli --features vara-testing --profile ci --no-fail-fast "$@"
fi
}

pallet_test() {
cargo test -p pallet-gear "$@"
cargo test -p pallet-gear-debug "$@"
cargo test -p pallet-gear-payment "$@"
cargo test -p pallet-gear-messenger "$@"
cargo test -p pallet-gear-gas "$@"
if [ "$CARGO" = "cargo xwin" ]; then
$CARGO test -p "pallet-*" "$@"
else
cargo nextest run -p "pallet-*" --profile ci --no-fail-fast "$@"
fi
}

client_tests() {
RUST_TEST_THREADS=1 $CARGO test -p gclient
if [ "$CARGO" = "cargo xwin" ]; then
$CARGO test -p gclient "$@"
else
cargo nextest run -p gclient --no-fail-fast "$@"
fi
}

validators() {
Expand All @@ -81,12 +95,12 @@ run_fuzzer() {

# TODO this is likely to be merged with `pallet_test` or `workspace_test` in #1802
syscalls_integrity_test() {
cargo test -p pallet-gear check_syscalls_integrity --features runtime-benchmarks "$@"
$CARGO test -p pallet-gear check_syscalls_integrity --features runtime-benchmarks "$@"
}

doc_test() {
MANIFEST="$1"
shift

__GEAR_WASM_BUILDER_NO_BUILD=1 SKIP_WASM_BUILD=1 SKIP_GEAR_RUNTIME_WASM_BUILD=1 SKIP_VARA_RUNTIME_WASM_BUILD=1 cargo test --doc --workspace --exclude runtime-fuzzer --exclude runtime-fuzzer-fuzz --manifest-path="$MANIFEST" -- "$@"
__GEAR_WASM_BUILDER_NO_BUILD=1 SKIP_WASM_BUILD=1 SKIP_GEAR_RUNTIME_WASM_BUILD=1 SKIP_VARA_RUNTIME_WASM_BUILD=1 $CARGO test --doc --workspace --exclude runtime-fuzzer --exclude runtime-fuzzer-fuzz --manifest-path="$MANIFEST" -- "$@"
}

0 comments on commit 5bb6012

Please sign in to comment.