Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a331814
Optimize CI with sccache, mold linker, consolidated test matrix, and …
filip-parity Feb 8, 2026
fd03044
Fix LintCotext typos and unset RUSTC_WRAPPER for cargo deny job
filip-parity Feb 8, 2026
30171af
Move docs and doctest jobs to ubuntu-latest to free parity-large-new …
filip-parity Feb 8, 2026
e72c5ee
Split nextest into build and test jobs to compile once per platform
filip-parity Feb 8, 2026
f2063b5
Revert docs and doctest back to parity-large-new runner
filip-parity Feb 8, 2026
ae5074f
Revert build/test split and runner changes, keep simple single-job ap…
filip-parity Feb 8, 2026
cc31e62
Restore original test matrix to preserve required check names
filip-parity Feb 8, 2026
c99a245
Restore original timeouts
filip-parity Feb 9, 2026
d7b3b39
Trigger CI to test warm sccache
filip-parity Feb 10, 2026
6609e95
Merge branch 'master' into filip/improve-ci
filip-parity Feb 13, 2026
0357f8d
Run all CI tests in release mode and separate anvil-polkadot into its…
filip-parity Feb 15, 2026
f832057
Merge remote-tracking branch 'origin/master' into filip/improve-ci
filip-parity Feb 15, 2026
64a8ae5
Run anvil-polkadot tests on all platforms for PRs
filip-parity Feb 15, 2026
a108ac0
Remove sccache from all CI workflows
filip-parity Feb 15, 2026
ff33c26
Only use --release for anvil-polkadot, restore sccache, use ubuntu-la…
filip-parity Feb 15, 2026
e9aed69
Revert to parity-large-new, remove sccache, drop --release flag
filip-parity Feb 16, 2026
0be2f50
Add workflow to delete caches for merged/closed PRs
filip-parity Feb 22, 2026
797ca12
Make anvil-polkadot tests Linux-only and compile in release mode
filip-parity Feb 22, 2026
9d9d291
Merge branch 'master' into filip/improve-ci
filip-parity Feb 22, 2026
6de0dad
Stop saving rust cache on PR runs
filip-parity Feb 22, 2026
6c3924d
Stop saving rust cache in crate-checks
filip-parity Feb 22, 2026
99b2a30
Merge issue-repros into integration and drop to 1 partition
filip-parity Feb 22, 2026
56199de
Remove cache-cleanup workflow, no longer needed since PRs don't save …
filip-parity Feb 22, 2026
205e88e
Split issue-repros back out from integration, keep both at 1 partition
filip-parity Feb 23, 2026
bb2d8b5
Revert default nextest slow-timeout period to 5m
filip-parity Feb 23, 2026
f49803f
Use profiling cargo profile for anvil-polkadot CI tests
filip-parity Feb 23, 2026
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
4 changes: 2 additions & 2 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ chisel-serial = { max-threads = 1 }
polkadot-localnode-serial = { max-threads = 1 }

[profile.default]
retries = { backoff = "exponential", count = 3, delay = "10s", jitter = true }
slow-timeout = { period = "5m", terminate-after = 4 }
retries = { backoff = "exponential", count = 2, delay = "5s", jitter = true }
slow-timeout = { period = "5m", terminate-after = 3 }

[[profile.default.overrides]]
filter = "test(/ext_integration|can_test_forge_std/)"
Expand Down
19 changes: 14 additions & 5 deletions .github/scripts/matrices.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,20 +83,26 @@ def __init__(
),
Case(
name="integration",
filter="kind(test) & !test(/\\b(issue|ext_integration)|polkadot_localnode/)",
n_partitions=3,
filter="kind(test) & !package(=anvil-polkadot) & !test(/\\b(issue|ext_integration)|polkadot_localnode/)",
n_partitions=1,
pr_cross_platform=True,
),
Case(
name="integration / issue-repros",
filter="package(=forge) & test(/\\bissue/)",
n_partitions=2,
n_partitions=1,
pr_cross_platform=False,
),
Case(
name="integration / external",
filter="package(=forge) & test(/\\bext_integration/)",
n_partitions=2,
n_partitions=1,
pr_cross_platform=False,
),
Case(
name="integration / anvil-polkadot",
filter="package(=anvil-polkadot) & kind(test)",
n_partitions=1,
pr_cross_platform=False,
),
# TODO: run the local node tests on polkadot-anvil
Expand All @@ -122,7 +128,10 @@ def main():
os_str = f" ({target.target})"

name = case.name
flags = f"-E '{case.filter}'"
if case.name == "integration / anvil-polkadot":
flags = f"--no-fail-fast -E '{case.filter}' --cargo-profile release-with-debug"
else:
flags = f"--no-fail-fast -E '{case.filter}'"
if case.n_partitions > 1:
s = f"{partition}/{case.n_partitions}"
name += f" ({s})"
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/nextest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ jobs:
CARGO_PROFILE_DEV_DEBUG: 0
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
if: runner.os == 'Linux'
- uses: taiki-e/install-action@nextest
- name: Install dependencies for building (Ubuntu)
if: contains(matrix.runner_label, 'parity-large-new')
Expand Down Expand Up @@ -110,6 +112,7 @@ jobs:
with:
cache-on-failure: true
prefix-key: "v0-rust-after-merge"
save-if: ${{ github.event_name != 'pull_request' }}

- name: Setup Git config
run: |
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
- uses: dtolnay/rust-toolchain@nightly
with:
targets: wasm32-unknown-unknown
Expand Down Expand Up @@ -61,6 +62,7 @@ jobs:
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
- uses: dtolnay/rust-toolchain@1.89.0
- name: Install build tools
run: |
Expand Down Expand Up @@ -91,6 +93,7 @@ jobs:
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.89.0
Expand Down Expand Up @@ -129,6 +132,7 @@ jobs:
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
- uses: dtolnay/rust-toolchain@1.89.0
- name: Install protobuf-compiler
uses: arduino/setup-protoc@v3
Expand All @@ -148,6 +152,7 @@ jobs:
timeout-minutes: 90
steps:
- uses: actions/checkout@v4
- uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878
- name: Install clang and zip on ubuntu
run: |
sudo apt-get update
Expand All @@ -159,6 +164,7 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
save-if: false
- uses: taiki-e/install-action@cargo-hack
- name: Install protobuf-compiler
uses: arduino/setup-protoc@v3
Expand Down
5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ debug = "full"
split-debuginfo = "unpacked"
strip = false

[profile.release-with-debug]
inherits = "release"
debug = "line-tables-only"
strip = false

[profile.bench]
inherits = "profiling"

Expand Down
Loading