From 33d3ef740fa5cb2cb09688f337a169dc9c33ce35 Mon Sep 17 00:00:00 2001 From: Bryan1029384756 <23323626+Bryan1029384756@users.noreply.github.com> Date: Sat, 21 Feb 2026 17:38:39 -0600 Subject: [PATCH] Fix container --- deploy/server/server.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/deploy/server/server.js b/deploy/server/server.js index 3ee77aa..9290b82 100644 --- a/deploy/server/server.js +++ b/deploy/server/server.js @@ -1,13 +1,10 @@ import express from 'express'; import compression from 'compression'; -import { exec } from 'child_process'; -import { promisify } from 'util'; +import { exec, spawn } from 'child_process'; import { existsSync, mkdirSync, cpSync, rmSync, readdirSync, readFileSync } from 'fs'; import { join, dirname } from 'path'; import { fileURLToPath } from 'url'; -const execAsync = promisify(exec); - const __dirname = dirname(fileURLToPath(import.meta.url)); const PORT = process.env.PORT || 3000; @@ -40,9 +37,18 @@ function findLatestRelease() { async function run(cmd, opts = {}) { log(`> ${cmd}`); - const { stdout, stderr } = await execAsync(cmd, { timeout: 600_000, maxBuffer: 50 * 1024 * 1024, ...opts }); - if (stdout) process.stdout.write(stdout); - if (stderr) process.stderr.write(stderr); + return new Promise((resolve, reject) => { + const child = spawn('sh', ['-c', cmd], { + stdio: 'inherit', + timeout: 600_000, + ...opts, + }); + child.on('close', (code) => { + if (code !== 0) reject(new Error(`Command failed with exit code ${code}: ${cmd}`)); + else resolve(); + }); + child.on('error', reject); + }); } async function triggerBuild(webhookCommit) { @@ -68,7 +74,12 @@ async function triggerBuild(webhookCommit) { await run(`git clone --depth 1 --branch ${GIT_BRANCH} ${GIT_REPO_URL} ${buildDir}`); // Read the cloned commit hash - const { stdout: hashOut } = await execAsync('git rev-parse HEAD', { cwd: buildDir }); + const { stdout: hashOut } = await new Promise((resolve, reject) => { + exec('git rev-parse HEAD', { cwd: buildDir }, (err, stdout, stderr) => { + if (err) reject(err); + else resolve({ stdout, stderr }); + }); + }); const clonedHash = hashOut.trim(); log(`Cloned commit: ${clonedHash}`);