Skip to content

Fixes to workflow and precompilation#77

Open
JKRT wants to merge 12 commits into
OpenModelica:masterfrom
JKRT:dev-fix
Open

Fixes to workflow and precompilation#77
JKRT wants to merge 12 commits into
OpenModelica:masterfrom
JKRT:dev-fix

Conversation

@JKRT

@JKRT JKRT commented Jun 24, 2026

Copy link
Copy Markdown
Member

Attempting to fix the slow precompilation issue on windows

JKRT and others added 11 commits June 16, 2026 11:46
…s Spice3 in_c)

Algorithmic Modelica function bodies kept a record used as a whole value as a bare
symbol, so a record copy / call argument / return / field-index referenced an
undeclared symbol (e.g. `in_c` in the Spice3 MOSFET functions), failing the
in-backend structural_simplify build. Scalarise every record use onto the
flattened `<base>_<field>` symbols (the naming flattenRecordInput already emits):

  - whole-record copy  lhs := rhs        -> per-field assignments
  - record call argument               -> splat into its flat field symbols
  - record-valued call assignment      -> scatter the flat-tuple return
  - record cref indexed by a constant  -> the kth flat field symbol

All four Spice3 examples (Inverter, Nor, Nand, FourInverters) now build via the
in-backend structural_simplify path (previously they fell back). Detection is
fully structural (cref/type pattern-matching, no string parsing); helpers carry
strict argument types and signature docstrings.

LRT green (289 pass / 0 fail / 6 broken) with this change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Three test-only fixes for type mismatches against production:
- mock stringToSimVarHT used Tuple{Integer, SimVar}; SIM_CODE requires
  Tuple{Int, SimVar} (backendTestMocks.jl, simCodeTraverseTests.jl)
- mkWhenEq passed nothing for the attr field added to WHEN_EQUATION;
  use EQ_ATTR_DEFAULT_UNKNOWN (runtests.jl)

Suite: 228/228 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 21.40%. Comparing base (48757b0) to head (c6bf37a).
⚠️ Report is 27 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
- Coverage   24.78%   21.40%   -3.38%     
==========================================
  Files          28       44      +16     
  Lines        3430    21213   +17783     
==========================================
+ Hits          850     4541    +3691     
- Misses       2580    16672   +14092     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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