Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 55 additions & 42 deletions .config/hakari.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ workspace-members = [
"sc-executor-common",
"sc-executor-polkavm",
"sc-executor-wasmtime",
"sc-mixnet",
"sp-allocator",
"sp-runtime-interface-proc-macro",
"sp-wasm-interface",
Expand All @@ -44,45 +43,59 @@ workspace-members = [
third-party = [
# we have to exclude these deps because of their `try-runtime` and `runtime-benchmarks` features,
# because we cannot, for example, run `cargo build --package gear-cli` without `--all-features` flag
{ name = "frame-benchmarking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-benchmarking-cli", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-election-provider-support", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-executive", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-support", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-system", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "frame-try-runtime", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-authority-discovery", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-authorship", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-babe", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-bags-list", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-balances", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-bounties", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-child-bounties", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-conviction-voting", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-election-provider-multi-phase", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-grandpa", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-identity", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-im-online", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-multisig", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-nomination-pools", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-offences", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-preimage", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-proxy", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-ranked-collective", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-referenda", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-scheduler", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-session", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-staking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-sudo", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-timestamp", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-transaction-payment", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-treasury", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-utility", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-vesting", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "pallet-whitelist", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "sc-cli", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "sc-client-db", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "sc-service", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "sp-runtime", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "sp-staking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "298f676c91d64f15f38ea7fd78f125c5889ab09c" },
{ name = "cumulus-pallet-parachain-system", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "cumulus-primitives-core", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-benchmarking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-benchmarking-cli", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-election-provider-support", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-executive", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-storage-access-test-runtime", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-support", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-system", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "frame-try-runtime", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-asset-conversion", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-authority-discovery", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-authorship", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-babe", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-bags-list", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-balances", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-bounties", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-broker", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-child-bounties", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-conviction-voting", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-election-provider-multi-phase", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-grandpa", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-identity", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-im-online", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-message-queue", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-migrations", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-multisig", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-nomination-pools", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-offences", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-preimage", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-proxy", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-ranked-collective", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-referenda", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-scheduler", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-session", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-staking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-sudo", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-timestamp", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-transaction-payment", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-treasury", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-utility", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-vesting", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "pallet-whitelist", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "polkadot-primitives", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "polkadot-sdk-frame", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "sc-cli", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "sc-client-db", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "sc-service", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "sp-runtime", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "sp-staking", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
{ name = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "e3737178ec726cffe506c907263aaaa417893fd0" },
]
16 changes: 16 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,21 @@ slow-timeout = { period = "1m", terminate-after = 5 }
# every test process compiling the Vara runtime WASM independently.
authorship = { max-threads = 1 }

# These tests invoke nested builds or long runtime benchmarks. Running them
# together with a fully saturated workspace test set can exceed the timeout
# window even though they complete when isolated.
heavy-workspace = { max-threads = 1 }

[[profile.default.overrides]]
filter = 'package(gear-authorship)'
retries = 5
test-group = 'authorship'

[[profile.default.overrides]]
filter = '(package(cargo-gbuild) and test(test_program_tests)) or (package(gstd-codegen) and test(ui)) or (package(pallet-gear) and (test(bench_gr_create_program_per_kb) or test(bench_gr_create_program_wgas_per_kb)))'
test-group = 'heavy-workspace'
threads-required = 8

# ethexe-service tests spawn Anvil child processes plus a malachite
# engine with libp2p sockets and a RocksDB WAL. Graceful tear-down of
# the whole stack can exceed the default 5s leak window; treat leaks
Expand All @@ -28,6 +38,12 @@ test-group = 'authorship'
filter = 'package(ethexe-service)'
leak-timeout = { period = "10s", result = "pass" }

# These gsdk tests pass their assertions but can leave RPC/node client tasks alive
# just past the default leak window on local runs.
[[profile.default.overrides]]
filter = 'package(gsdk) and (test(timeout) or test(memory_dump) or test(memory_download))'
leak-timeout = { period = "10s", result = "pass" }

[profile.default.junit]
path = "junit.xml"
store-success-output = false
Expand Down
17 changes: 16 additions & 1 deletion .github/actions/setup-compilation-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,22 @@ runs:
timeout_minutes: 15
max_attempts: 5
retry_wait_seconds: 10
command: brew install protobuf binaryen
command: brew install protobuf binaryen llvm openssl@3

- name: "Install: macOS package env"
if: runner.os == 'macOS'
run: |
LLVM_PREFIX="$(brew --prefix llvm)"
OPENSSL_PREFIX="$(brew --prefix openssl@3)"
echo "LIBCLANG_PATH=${LLVM_PREFIX}/lib" >> "$GITHUB_ENV"
echo "${LLVM_PREFIX}/bin" >> "$GITHUB_PATH"
echo "DYLD_FALLBACK_LIBRARY_PATH=${LLVM_PREFIX}/lib:/usr/local/lib:/usr/lib" >> "$GITHUB_ENV"
echo "OPENSSL_DIR=${OPENSSL_PREFIX}" >> "$GITHUB_ENV"
OPENSSL_DIR_VAR="$(echo "${{ inputs.target }}_OPENSSL_DIR" | tr '[:lower:]-' '[:upper:]_')"
echo "${OPENSSL_DIR_VAR}=${OPENSSL_PREFIX}" >> "$GITHUB_ENV"
echo "PKG_CONFIG_ALLOW_CROSS=1" >> "$GITHUB_ENV"
echo "PKG_CONFIG_PATH=${OPENSSL_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" >> "$GITHUB_ENV"
shell: bash

- name: "Install: Linux packages"
if: runner.os == 'Linux'
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,17 @@ jobs:
run: cargo build -p vara-runtime -F std,try-runtime --locked ${{ matrix.profiles.flags }}

- name: "Test: Download Vara Mainnet snapshot"
run: curl -o vara_ci.snap -L https://snapshots.vara.network/vara-mainnet.snap
run: >-
curl
--fail
--location
--retry 5
--retry-all-errors
--retry-delay 10
--continue-at -
--http1.1
-o vara_ci.snap
https://snapshots.vara.network/vara-mainnet.snap

- name: "Test: on-runtime-upgrade"
run: >-
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- uses: cargo-bins/cargo-binstall@main
- run: cargo binstall --no-confirm cargo-shear
- run: cargo binstall --no-confirm --locked cargo-shear
- run: cargo shear --exclude=gear-workspace-hack

fmt:
Expand Down
Loading
Loading