From 819ba0bd71dd04e7f2cea9923a5e5aed63cb2ce0 Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Thu, 3 Apr 2025 12:41:30 -0400 Subject: [PATCH] chore: build packages in CI --- .github/workflows/release-production.yml | 2 +- api/scripts/build.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-production.yml b/.github/workflows/release-production.yml index af62ed534..26e9ef40e 100644 --- a/.github/workflows/release-production.yml +++ b/.github/workflows/release-production.yml @@ -8,7 +8,7 @@ on: required: true jobs: - publish-to-digital-ocean: + publish: runs-on: ubuntu-latest steps: diff --git a/api/scripts/build.ts b/api/scripts/build.ts index 4ed66be5a..40986a36c 100755 --- a/api/scripts/build.ts +++ b/api/scripts/build.ts @@ -20,6 +20,8 @@ try { // Get package details const packageJson = await readFile('./package.json', 'utf-8'); const parsedPackageJson = JSON.parse(packageJson); + const rootPackageJson = await readFile('./../package.json', 'utf-8'); + const parsedRootPackageJson = JSON.parse(rootPackageJson); const deploymentVersion = await getDeploymentVersion(process.env, parsedPackageJson.version); @@ -28,6 +30,9 @@ try { // omit dev dependencies from release build parsedPackageJson.devDependencies = {}; + // add all PNPM settings for pnpm install from root package.json + parsedPackageJson.pnpm = parsedRootPackageJson.pnpm; + // Create a temporary directory for packaging await mkdir('./deploy/pack/', { recursive: true }); @@ -42,8 +47,13 @@ try { $.verbose = true; await $`pnpm install --prod --ignore-workspace --store-dir=../.pnpm-store`; + // Now remove the onlybuilddependencies from the package json + delete parsedPackageJson.pnpm; + // Now write the package.json back to the pack directoryaw + await writeFile('package.json', JSON.stringify(parsedPackageJson, null, 4)); + await $`rm -rf node_modules`; // Don't include node_modules in final package - + const sudoCheck = await $`command -v sudo`.nothrow(); const SUDO = sudoCheck.exitCode === 0 ? 'sudo' : ''; await $`${SUDO} chown -R 0:0 ../.pnpm-store`;