Skip to content

ci: run the tutorial notebooks on gdstk - #116

Merged
msaligane merged 1 commit into
ReaLLMASIC:mainfrom
carloscl03:notebooks-on-gdstk
Aug 25, 2026
Merged

ci: run the tutorial notebooks on gdstk#116
msaligane merged 1 commit into
ReaLLMASIC:mainfrom
carloscl03:notebooks-on-gdstk

Conversation

@carloscl03

Copy link
Copy Markdown
Contributor

The Run tutorial notebooks check currently passes or fails on identical content, depending on which runner the job lands on. Two notebooks sit right on the 180s per-cell limit:

GLayout_Cells   290s pass (#112 run) / 372s error (#113 run)
glayout_opamp   136s pass (#112 run) / 198s error (#113 run)

lvs-pin-filter alone has four green runs and two red ones. Right now six of the eight open PRs are red for this reason while their DRC checks pass.

Raising the timeout would hide it. The native backend removes it: the same cells build several times faster, so they end up nowhere near the limit.

Measured

Run on this fork's CI — same container, same image, same runners — with #102, #104 and #113 applied on both sides. The only difference between the two branches is the one line in this PR:

notebook gdsfactory gdstk
GLayout_Cells 187.8s ERROR (timeout) 14.2s pass
glayout_opamp 126.4s pass 19.2s pass
glayout_tutorial_5T_OTA_part2 90.8s pass 16.2s pass
test_bjt_custom_pattern 68.2s pass 11.4s pass
test_bjt_glayout 33.8s pass 7.5s pass
whole suite 660s — 13/14 158s — 14/14

Runs: gdsfactory baseline · gdstk

Worth noting that the baseline already carries all three PRs and still fails. They are what lets the notebooks run on gdstk at all — they are not themselves a fix for the timeouts.

Dependencies

This check stays red until all three land, and each covers a different failure in the same notebook:

Happy to hold this until they are in, or to close it if you would rather solve the flakiness another way — the measurement is the part worth having either way.

Two notebooks sit on the 180s per-cell limit and cross it depending on
which runner the job lands on, so the check passes or fails on identical
content. `lvs-pin-filter` has four green runs and two red ones.

    GLayout_Cells   290s pass (ReaLLMASIC#112) / 372s error (ReaLLMASIC#113)
    glayout_opamp   136s pass (ReaLLMASIC#112) / 198s error (ReaLLMASIC#113)

The native backend builds these cells several times faster, which moves
them off the limit instead of raising it. Measured on this fork's CI --
same container, same runners -- with ReaLLMASIC#102, ReaLLMASIC#104 and ReaLLMASIC#113 applied on both
sides, the only difference being this line:

                              gdsfactory        gdstk
    GLayout_Cells          187.8s  ERROR      14.2s  pass
    glayout_opamp          126.4s  pass       19.2s  pass
    5T_OTA_part2            90.8s  pass       16.2s  pass
    test_bjt_custom_pattern 68.2s  pass       11.4s  pass
    whole suite            660s 13/14        158s 14/14

Note the baseline already carries all three PRs and still fails: they are
what lets the notebooks run on gdstk at all, not what fixes the timeouts.

Depends on ReaLLMASIC#102, ReaLLMASIC#104 and ReaLLMASIC#113. Without ReaLLMASIC#113 `GLayout_Cells` raises in
`mimcap.py`; without ReaLLMASIC#102 it raises in `Component.add`; without ReaLLMASIC#104's
`add_ref(columns=)` the BJT notebook raises. This check stays red until
all three land.
@msaligane
msaligane merged commit 883cf79 into ReaLLMASIC:main Aug 25, 2026
2 of 3 checks passed
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.

2 participants