• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iotaledger / iota / 29793442693
69%

Build:
DEFAULT BRANCH: develop
Ran 21 Jul 2026 02:40AM UTC
Jobs 1
Files 1126
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jul 2026 02:53PM UTC coverage: 68.842% (+0.02%) from 68.822%
29793442693

push

github

web-flow
feat(ci): use merge queues (#12322)

# Description of change

## Motivation

Heavy CI (Rust tests + simtests, split-cluster compatibility checks)
currently runs on every non-draft PR push. Contributors pushing several
commits in a row saturate the self-hosted runner pool with runs on work
that isn't ready for that level of verification, starving other PRs and
`develop` (#11253).

Two earlier approaches gated heavy tests behind explicit opt-ins — a
"ready" label (#11263) and a PR-description checkbox (#11540) — but both
required custom dispatcher machinery (`pull_request_target` +
`workflow_dispatch`) with many edge cases: results not attached to the
PR, no way to enforce that heavy tests passed before merge, and logic
that can only be tested after merging.

GitHub's **merge queue** solves the same problem with built-in
machinery: heavy tests run **exactly once per merge, pre-merge**, on the
PR merged onto the latest `develop`, and are enforceable as a required
status check.

## How it works

- `hierarchy.yml` and `pr_lint.yml` get a `merge_group` trigger. When a
PR is queued, GitHub merges it (plus any PRs ahead of it) onto `develop`
in a temporary `gh-readonly-queue/*` branch and requests checks on that
result.
- The heavy jobs — the `rust-tests` chain in `_rust.yml` (incl. the two
paths-filter jobs that only feed it), `split-cluster`, and
`split-cluster-sync-check` — now run only on `merge_group` and on pushes
to long-lived branches, no longer on `pull_request` events.
`dorny/paths-filter` (pinned v4.0.1) supports `merge_group` natively
(diffs `base_sha..head_sha`), so crate change filtering keeps working in
the queue.
- A new plain job **`heavy-tests-status`** aggregates the heavy jobs'
results and is the single check to mark as required. It has to be a
plain `always()` job rather than requiring the nested heavy checks
directly: on `pull_request` events the heavy jobs are skipped
reusable-workflow calls, and a skipped `uses:` job never expands its
... (continued)

167431 of 243211 relevant lines covered (68.84%)

501485.95 hits per line

Coverage Regressions

Lines Coverage ∆ File
254
82.99
-0.24% crates/iota-core/src/authority.rs
204
91.27
0.27% crates/iota-core/src/authority/authority_per_epoch_store.rs
86
87.25
-0.11% crates/iota-node/src/lib.rs
82
85.07
1.06% crates/iota-core/src/transaction_orchestrator.rs
65
81.55
-0.06% crates/iota-core/src/authority_aggregator.rs
60
92.21
0.3% crates/iota-core/src/epoch/randomness.rs
48
92.86
0.35% crates/iota-core/src/authority/consensus_quarantine.rs
19
89.33
-0.75% crates/iota-protocol-config/src/lib.rs
18
98.08
0.15% crates/starfish/core/src/commit_observer.rs
17
95.15
-0.11% crates/starfish/core/src/base_committer.rs
13
92.73
-1.52% crates/iota-core/src/consensus_adapter.rs
12
93.83
-0.44% crates/starfish/core/src/authority_service.rs
10
63.58
0.5% crates/iota-json-rpc-types/src/iota_transaction.rs
10
88.06
-3.12% crates/iota-transaction-checks/src/deny.rs
9
56.22
-1.26% crates/iota-json-rpc-types/src/iota_object.rs
9
68.75
-16.67% crates/iota-network-stack/src/anemo_ext.rs
8
53.23
-6.45% crates/iota-transaction-builder/src/package.rs
8
82.89
-0.41% crates/iota-types/src/transaction.rs
7
86.84
-1.84% crates/iota-transaction-builder/src/utils.rs
7
87.91
-7.69% iota-execution/latest/iota-move-natives/src/transaction_context.rs
6
90.0
-4.29% crates/iota-config/src/transaction_deny_config.rs
6
39.6
-5.94% crates/iota-json-rpc-types/src/object_changes.rs
5
84.96
-0.94% crates/prometheus-filtered/src/lib.rs
4
83.65
-0.59% crates/iota-move-build/src/lib.rs
4
49.49
0.0% crates/iota-sdk/src/apis/read.rs
4
60.92
0.0% crates/iota-stardust-types/src/block/output/alias.rs
4
57.69
-3.08% crates/iota-stardust-types/src/block/output/basic.rs
4
96.58
-0.12% crates/starfish/core/src/dag_state.rs
4
75.48
1.83% crates/test-cluster/src/lib.rs
3
81.75
-0.75% crates/iota-config/src/genesis.rs
3
87.25
-1.2% crates/iota-core/src/authority_server/mod.rs
3
80.61
-0.18% crates/iota-core/src/checkpoints/mod.rs
3
77.05
-4.92% crates/iota-core/src/traffic_controller/nodefw_test_server.rs
3
73.53
-8.82% crates/iota-genesis-builder/src/stardust/types/output_header.rs
3
85.42
-0.27% crates/iota-json-rpc/src/read_api.rs
3
79.02
-0.35% crates/iota-sdk/src/wallet_context.rs
3
72.2
-0.62% crates/iota-swarm/src/memory/swarm.rs
3
88.15
1.67% crates/iota-test-transaction-builder/src/lib.rs
3
0.0
-33.33% crates/typed-store/src/rocks/errors.rs
2
75.32
0.72% crates/iota-network/src/randomness/mod.rs
1
0.0
0.0% crates/iota-core/src/generate_format.rs
1
95.65
-4.35% crates/iota-keys/src/random_names.rs
1
90.94
1.18% crates/iota-network/src/state_sync/mod.rs
1
89.51
-0.11% crates/starfish/core/src/commit_syncer/fast.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 29793442693.1 21 Jul 2026 02:40AM UTC 1126
68.84
GitHub Action Run
Source Files on build 29793442693
  • Tree
  • List 1126
  • Changed 71
  • Source Changed 20
  • Coverage Changed 65
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29793442693
  • c3779fd6 on github
  • Prev Build on develop (#29711150958)
  • Next Build on develop (#29883424813)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc