diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-07-01 10:12:55 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-07-01 10:12:55 -0700 |
commit | 8fbbe6396f400a9a50d4686c39969470edf2a246 (patch) | |
tree | 4832c535816d59b30bbf7eb059259194a3bfc46c /worker/scripts/checkout_ci.ts | |
parent | fd5fb8b5e19bb6b09ed6e2a6050ba6c4a375d520 (diff) | |
download | ci-8fbbe6396f400a9a50d4686c39969470edf2a246.tar.gz ci-8fbbe6396f400a9a50d4686c39969470edf2a246.zip |
Lift all utility functions in runner scripts
Diffstat (limited to 'worker/scripts/checkout_ci.ts')
-rwxr-xr-x | worker/scripts/checkout_ci.ts | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/worker/scripts/checkout_ci.ts b/worker/scripts/checkout_ci.ts index 337aae1..dade7c4 100755 --- a/worker/scripts/checkout_ci.ts +++ b/worker/scripts/checkout_ci.ts @@ -119,34 +119,42 @@ await LogMetricTraceable.ofLogTraceable(_logJob) }) .get(); -const getWorkingDirectoryForCiJob = (job: CheckoutCiJob) => `${job.arguments.returnPath}/${job.arguments.run}`; +function getWorkingDirectoryForCiJob(job: CheckoutCiJob) { + return `${job.arguments.returnPath}/${job.arguments.run}`; +} -const getSrcDirectoryForCiJob = (job: CheckoutCiJob) => `${job.arguments.returnPath}/${job.arguments.run}/src`; +function getSrcDirectoryForCiJob(job: CheckoutCiJob) { + return `${job.arguments.returnPath}/${job.arguments.run}/src`; +} const _runFlags = ('--rm --network none --cap-drop ALL' + '--security-opt no-new-privileges').split(' '); const _image = 'oci.liz.coffee/img/ci-worker:release'; -const getPipelineGenerationCommand = ( +function getPipelineGenerationCommand( job: CheckoutCiJob, pipelineGeneratorPath: string, image = _image, runFlags = _runFlags, -): Command => [ - 'docker', - 'run', - ...runFlags, - ...prependWith( - Object.entries(job.arguments).map(([key, val]) => `"${key}"="${val}"`), - '-e', - ), - '-v', - `${getSrcDirectoryForCiJob(job)}/${pipelineGeneratorPath}:/pipeline_generator`, - image, - '/pipeline_generator', -]; +): Command { + return [ + 'docker', + 'run', + ...runFlags, + ...prependWith( + Object.entries(job.arguments).map(([key, val]) => `"${key}"="${val}"`), + '-e', + ), + '-v', + `${getSrcDirectoryForCiJob(job)}/${pipelineGeneratorPath}:/pipeline_generator`, + image, + '/pipeline_generator', + ]; +} export interface CiWorkflow { workflow: string; } -export const isCiWorkflow = (t: unknown): t is CiWorkflow => - isObject(t) && 'workflow' in t && typeof t.workflow === 'string' && !t.workflow.includes('..'); +export function isCiWorkflow(t: unknown): t is CiWorkflow { + return isObject(t) && 'workflow' in t && typeof t.workflow === 'string' && !t.workflow.includes('..'); +} + const CI_WORKFLOW_FILE = '.ci/ci.json'; |