datagrok-tools 6.4.4 → 6.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Datagrok-tools changelog
2
2
 
3
+ ## 6.4.5 (2026-06-23)
4
+
5
+ * `grok test` — screen recording (`--record`) is now optional: if `page.screencast()` can't start (e.g. `ffmpeg` is missing on the runner, `spawnSync ffmpeg ENOENT`), the run warns and continues instead of failing the whole Puppeteer pass with 0 tests executed.
6
+
3
7
  ## 6.4.4 (2026-06-22)
4
8
 
5
9
  * `grok publish` — fixed every publish failing with a silent `exit 1` after a successful upload: a stray `fs.unlinkSync('zip')` threw `ENOENT` (the archive is streamed in-memory, no `zip` file is ever written), and the surrounding `catch` only logged under `--verbose`. The errant unlink is removed and publish errors are now always surfaced.
@@ -256,9 +256,14 @@ async function loadTestsList(packages, core = false, record = false) {
256
256
  const suffix = process.env.BACKUP_SIZE && process.env.WORKER_ID && process.env.TOTAL_WORKERS ? `_${process.env.BACKUP_SIZE}_${process.env.WORKER_ID}_${process.env.TOTAL_WORKERS}` : '';
257
257
  const logsDir = `./load-test-console-output${suffix}.log`;
258
258
  const recordDir = `./load-test-record${suffix}.mp4`;
259
- recorder = await page.screencast({
260
- path: recordDir
261
- });
259
+ try {
260
+ recorder = await page.screencast({
261
+ path: recordDir
262
+ });
263
+ } catch (e) {
264
+ recorder = null;
265
+ color.warn(`Screen recording disabled: ${e?.message || e}`);
266
+ }
262
267
  await page.exposeFunction('addLogsToFile', addLogsToFile);
263
268
  _fs.default.writeFileSync(logsDir, ``);
264
269
  page.on('console', msg => {
@@ -636,10 +641,17 @@ async function runBrowser(testExecutionData, browserOptions, browsersId, testInv
636
641
  const logsDir = `./test-console-output-${currentBrowserNum}.log`;
637
642
  const recordDir = `./test-record-${currentBrowserNum}.mp4`;
638
643
  if (browserOptions.record && !existingBrowserSession) {
639
- // Only set up recording on initial browser creation, not on retry
640
- recorder = await page.screencast({
641
- path: recordDir
642
- });
644
+ // Only set up recording on initial browser creation, not on retry.
645
+ // Recording is an optional diagnostic — if it can't start (e.g. ffmpeg is
646
+ // missing on the runner), warn and keep testing instead of failing the pass.
647
+ try {
648
+ recorder = await page.screencast({
649
+ path: recordDir
650
+ });
651
+ } catch (e) {
652
+ recorder = null;
653
+ color.warn(`Screen recording disabled: ${e?.message || e}`);
654
+ }
643
655
  await page.exposeFunction('addLogsToFile', addLogsToFile);
644
656
  _fs.default.writeFileSync(logsDir, ``);
645
657
  page.on('console', msg => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datagrok-tools",
3
- "version": "6.4.4",
3
+ "version": "6.4.5",
4
4
  "description": "Utility to upload and publish packages to Datagrok",
5
5
  "homepage": "https://github.com/datagrok-ai/public/tree/master/tools#readme",
6
6
  "dependencies": {