Fix track-probe fake yt-dlp shell script for CI

- Use #!/bin/sh instead of #!/usr/bin/env sh (avoids PATH dependency)
- Set minimal PATH inside script for base64/cat commands
- Fix base64 content encoding: use stdoutBody directly instead of
  JSON.stringify(stdoutBody) which double-encoded the output
- Use unique heredoc delimiter to avoid conflicts with content
This commit is contained in:
2026-04-03 13:33:40 -07:00
parent 4dd754f826
commit acb490fa10

View File

@@ -24,10 +24,11 @@ function makeFakeYtDlpScript(dir: string, payload: unknown, rawScript = false):
: `#!/usr/bin/env bun : `#!/usr/bin/env bun
process.stdout.write(${JSON.stringify(stdoutBody)}); process.stdout.write(${JSON.stringify(stdoutBody)});
` `
: `#!/usr/bin/env sh : `#!/bin/sh
cat <<'EOF' | base64 -d PATH=/usr/bin:/bin:/usr/local/bin
${Buffer.from(rawScript ? stdoutBody : `${JSON.stringify(stdoutBody)}`).toString('base64')} cat <<'SUBMINER_EOF' | base64 -d
EOF ${Buffer.from(stdoutBody).toString('base64')}
SUBMINER_EOF
`; `;
fs.writeFileSync(scriptPath, script, 'utf8'); fs.writeFileSync(scriptPath, script, 'utf8');
if (process.platform !== 'win32') { if (process.platform !== 'win32') {