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

source-academy / frontend / 30270061935
43%

Build:
DEFAULT BRANCH: master
Ran 27 Jul 2026 01:26PM UTC
Jobs 1
Files 469
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

27 Jul 2026 01:23PM UTC coverage: 42.823% (+0.2%) from 42.586%
30270061935

push

github

web-flow
Make Conductor-based assessment workspaces (Run + testcase grading) work for non-js-slang languages (#4057)

* Concatenate prepend into entrypoint under Conductor instead of evaluating it separately

Conductor runs each evalCodeSaga call in a fresh, isolated worker that is
terminated after use, so bindings from a silently-evaluated prepend never
carry over into the entrypoint's own worker. This made quest/mission/path
prepend definitions (e.g. pair, pizza) appear unrecognised when running
under Conductor. Concatenate prepend + entrypoint into a single file for a
single Conductor run instead, mirroring the existing Variant.TYPED handling.

* Skip js-slang debugger-statement pre-parse when running under Conductor

insertDebuggerStatements() used context.chapter to decide whether to
run js-slang's parser as a pre-check. Assessment questions carry a
legacy chapter field (backend only accepts Source chapters 1-4, with
no non-Source option), so a Conductor/Python question's chapter still
reads as a Source chapter and js-slang's parser was being run against
non-JS source before Conductor ever got to evaluate it, producing
spurious syntax errors like "Missing semicolon at the end of
statement". debugger; is JS/Source-specific anyway, so skip this
entirely whenever Conductor is enabled.

* Make testcase grading Conductor-aware by running prepend+code+postpend+testcase as one file

evalTestCode.ts still hardcodes js-slang's runInContext directly, and
the legacy prepend/postpend/testcase flow relies on a single mutable
js-slang Context shared across four separate evalCodeSaga calls -
neither works under Conductor, since each call gets a fresh, isolated
worker that's torn down afterwards.

When Conductor is enabled, skip the elevated-context/blockExtraMethods
privilege dance (a js-slang-specific concept with no Conductor
equivalent) and instead concatenate prepend, the student's code,
postpend, and the testcase expression into a single file for one
Conductor run.... (continued)

2818 of 7611 branches covered (37.03%)

Branch coverage included in aggregate %.

57 of 68 new or added lines in 8 files covered. (83.82%)

6567 of 14305 relevant lines covered (45.91%)

28.61 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
82.28
-3.44% src/commons/sagas/WorkspaceSaga/helpers/runTestCase.ts
3
32.54
-0.21% src/commons/sagas/WorkspaceSaga/helpers/evalCode.ts
2
83.33
-16.67% src/features/directory/LanguageDirectoryReducer.ts
1
46.95
1.14% src/commons/sagas/BackendSaga.ts
Jobs
ID Job ID Ran Files Coverage
1 30270061935.1 27 Jul 2026 01:26PM UTC 469
42.82
GitHub Action Run
Source Files on build 30270061935
  • Tree
  • List 469
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • a7f20b03 on github
  • Prev Build on master (#30229767412)
  • Next Build on master (#30326969854)
  • 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