diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-07-20 13:03:39 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-07-20 13:03:39 -0700 |
commit | dc4ac7742690f8f2bd759d57108ac4455e717fe9 (patch) | |
tree | f138ba41dd44bf703087eaa8ec43a22fe842923d /u/process/run.ts | |
parent | dccb99505e92685ba8ade7c3be84555f2b539a47 (diff) | |
download | ci-dc4ac7742690f8f2bd759d57108ac4455e717fe9.tar.gz ci-dc4ac7742690f8f2bd759d57108ac4455e717fe9.zip |
Mount src directory from path on host running worker container
Diffstat (limited to 'u/process/run.ts')
-rw-r--r-- | u/process/run.ts | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/u/process/run.ts b/u/process/run.ts deleted file mode 100644 index 1d19129..0000000 --- a/u/process/run.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - Either, - IEither, - type ITraceable, - LogLevel, - LogMetricTraceSupplier, - Metric, - TraceUtil, -} from '@emprespresso/pengueno'; -import { promisify } from 'node:util'; -import { exec as execCallback } from 'node:child_process'; -const exec = promisify(execCallback); - -export type Command = string[] | string; -export type StdStreams = { stdout: string; stderr: string }; - -export const CmdMetric = Metric.fromName('Exec').asResult(); -export const getStdout = ( - c: ITraceable<Command, LogMetricTraceSupplier>, - options: { env?: Record<string, string>; clearEnv?: boolean } = {}, -): Promise<IEither<Error, string>> => - c - .flatMap(TraceUtil.withFunctionTrace(getStdout)) - .flatMap((tCmd) => tCmd.traceScope(() => `Command = ${tCmd.get()}`)) - .map((tCmd) => { - const cmd = tCmd.get(); - const _exec = typeof cmd === 'string' ? cmd : cmd.join(' '); - const env = options.clearEnv ? options.env : { ...process.env, ...options.env }; - return Either.fromFailableAsync<Error, StdStreams>(exec(_exec, { env })); - }) - .map( - TraceUtil.promiseify((tEitherStdStreams) => - tEitherStdStreams.get().mapRight(({ stderr, stdout }) => { - if (stderr) tEitherStdStreams.trace.traceScope(LogLevel.DEBUG).trace(`StdErr = ${stderr}`); - return stdout; - }), - ), - ) - .peek(TraceUtil.promiseify(TraceUtil.traceResultingEither(CmdMetric))) - .get(); |