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

wurstscript / WurstScript / 40141698262
80%

Build:
DEFAULT BRANCH: master
Ran 24 Oct 2026 11:18PM UTC
Jobs 1
Files 460
Run time 1min
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

24 Oct 2026 11:11PM UTC coverage: 79.688% (+0.1%) from 79.548%
40141698262

push

github

web-flow
Lua hot reload: materialize new compile-time object snapshots (#1563)

* Lua hot reload: a closure inserted before others of its order group reloads

The build still names the closures of an order group by their position. The payload, made for the running map,
matches the edit's closures with those the map has (by source, against what the last payload sent) and gives each
name the class table and captured-value stores of the closure it continues, so objects made before keep their
closure and values. An insertion and an edit before the same unchanged closure cannot be told apart and are refused.

* Lua hot reload: removed closures of an order group apply while no other takes their names

Removing a whole group of declarations which share an identity left nothing to confuse but was refused; the
closures of a group are now decided by their lineages, so removing the last ones (or all) applies with the
warning of a removed function, and a closure added later in a removed one's names is refused unless it is
that one back. Castle Fight replay and the remaining refusals in docs/LUA_HOT_RELOAD.md and BACKLOG.md.

* WIP: Lua hot reload: name compile-time objects after what made them

Work in progress, not compiled or tested after the last edits. Adds failing
repro tests (an added compile-time object is nil after a reload; one inserted
above another takes its object; removing one is refused with the closure-order
message), and gives each compile-time object and hashtable global an identity
from the value it was computed for and the path through it. The payload side
(initCompiletimeState as manifest statements) is not done; see the PR.

* Reserve removed callback lineages and retain empty layouts

* Replay new compile-time objects before hot reload initializers

* Preserve bound compile-time identities and traced replay ownership

* Protect removed capture names when a surviving closure moves

* Guard materialized compile-time expression groups across payload his... (continued)

22889 of 30207 branches covered (75.77%)

Branch coverage included in aggregate %.

42212 of 51488 relevant lines covered (81.98%)

4.12 hits per line

Coverage Regressions

Lines Coverage ∆ File
180
86.15
0.04% de/peeeq/wurstscript/translation/imtranslation/ImTranslator.java
56
85.83
0.14% de/peeeq/wurstscript/intermediatelang/interpreter/ProgramState.java
52
94.28
-1.85% de/peeeq/wurstscript/translation/lua/translation/LuaHotReload.java
49
90.25
0.68% de/peeeq/wurstio/CompiletimeFunctionRunner.java
21
86.81
0.72% de/peeeq/wurstio/languageserver/requests/LuaHotReloadSession.java
15
76.19
-0.07% de/peeeq/wurstscript/intermediatelang/interpreter/EvaluateExpr.java
1
90.29
0.02% de/peeeq/wurstscript/translation/imtranslation/StackTraceInjector2.java
Jobs
ID Job ID Ran Files Coverage
1 40141698262.1 24 Oct 2026 11:18PM UTC 460
79.69
GitHub Action Run
Source Files on build 40141698262
  • Tree
  • List 460
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #40141698262
  • 652debe9 on github
  • Prev Build on master (#40133131068)
  • Next Build on master (#40171325799)
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