Skip to content

merge queue: checking #1354 on master (9c612b4) - #1357

Closed
mergify[bot] wants to merge 4 commits into
masterfrom
mergify/merge-queue/38893f94c9
Closed

mergify[bot] wants to merge 4 commits into
masterfrom
mergify/merge-queue/38893f94c9

Conversation

@mergify

@mergify mergify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Note

This is a merge queue draft opened by Mergify. Nobody needs to act on it.
Mergify opened it for batch chemical-cassis-fecfpz of the changes queue, to test #1354 before it merges into master. Pushing to this branch or closing this pull request removes #1354 from the queue.

What this draft tests

Mergify checks that #1354 still passes CI on top of master. CI runs on this draft's code, built in this order:

  1. master at 9c612b4
  2. #1354, the pull request of this batch

🎉 Where it stands: checks passed

CI passed on this draft.

Follow the changes queue in the dashboard

What happens next

  • Mergify merges #1354 into master and closes this draft.
Metadata for CI tooling, read by mergify ci
---
all_scopes: false
checking_base_sha: 9c612b4578665906ae79f69378f34c99106f5d64
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 1354
    scopes:
      - core
scopes:
  - core
...
1 scope
  • core
Required conditions of queue rule changes for merge
  • check-success = Conventional Commit title
  • check-success = Queue validation
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/Lint & Format
    • check-neutral = @github-actions/Lint & Format
    • check-skipped = @github-actions/Lint & Format
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/NAPI Build (Linux ARM64 GNU)
    • check-neutral = @github-actions/NAPI Build (Linux ARM64 GNU)
    • check-skipped = @github-actions/NAPI Build (Linux ARM64 GNU)
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/NAPI Build (Windows)
    • check-neutral = @github-actions/NAPI Build (Windows)
    • check-skipped = @github-actions/NAPI Build (Windows)
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/Rust Test & NAPI Build
    • check-neutral = @github-actions/Rust Test & NAPI Build
    • check-skipped = @github-actions/Rust Test & NAPI Build
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/JS Test (Ubuntu)
    • check-neutral = @github-actions/JS Test (Ubuntu)
    • check-skipped = @github-actions/JS Test (Ubuntu)
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/JS Test (Windows)
    • check-neutral = @github-actions/JS Test (Windows)
    • check-skipped = @github-actions/JS Test (Windows)
  • any of [🛡 GitHub repository ruleset rule master]:
    • check-success = @github-actions/Conventional Commit title
    • check-neutral = @github-actions/Conventional Commit title
    • check-skipped = @github-actions/Conventional Commit title
Required conditions to stay in the queue
Queue graph

The diagram is not laid out in queue order, so a node's position says nothing about when it merges.

graph LR
    0e0dcd954f1e4161a9d5528a692f239c["chemical-cassis-fecfpz<br/>#1354<br/>scopes: core"]
    ba7e14e412f74026938789345905d3e8["single-palmier-8kbzsx<br/>#1358<br/>scopes: core"]
    0e0dcd954f1e4161a9d5528a692f239c --> ba7e14e412f74026938789345905d3e8
    style 0e0dcd954f1e4161a9d5528a692f239c fill:#6366f1,color:#fff
Loading

tignear and others added 4 commits October 16, 2026 20:21
Add `run_until`/`run_to_finish` script operations and `Design::timed`, the
`timing` SystemVerilog group, and retained Icarus/Verilator results for it.

A timed script begins with `run_until` or `run_to_finish`, so no case depends
on host inputs staged before time-zero initial blocks, always_ff listeners or
variable initializers. The external adapters compile timed designs unchanged:
the testbench settles with an Icarus read/write callback or a Verilator
clocking event, and a design `$finish` notice before the script reaches
`run_to_finish` fails the run. Port shapes of timed designs come from their
declarations with process bodies blanked for analysis only.

Celox runs the group through a timed `Simulation` with explicit exclusions:
the SV analyzer rejects procedural timing controls and plain `always`, host
clock writes do not trigger flip-flops, there is no four-state timed read, and
only the default backend builds a timed simulation.
- Validate timed sources with the macros each simulator predefines
  (VERILATOR, VERILATOR_TIMING, __ICARUS__), so guarded scale directives
  cannot bypass the rejection.
- Drop the $finish notice after the finishing marker before splicing the
  log, so a partial last line before run_to_finish stays comparable.
- Reject a first run_until target that reads the design: adapters evaluate
  it at different points of time zero.
- Reject final procedures in timed designs; they run in an arbitrary order
  relative to the checks after run_to_finish (IEEE 1800-2023 9.2.3).
- Reject timed sources whose preprocessed text depends on the simulator's
  predefined macros, so the declaration pass that shapes the generated
  testbench sees exactly what each simulator compiles.
- Place the run_to_finish deadline one picosecond past RUN_UNTIL_LIMIT, so
  a design $finish due exactly at the limit runs before the sentinel
  instead of racing it in the same time slot.
@mergify mergify Bot closed this Oct 16, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/38893f94c9 branch October 16, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant