diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fcdaace27..8f0750be3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -93,6 +93,21 @@ jobs: exit 1 fi + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + + - name: Setup Magic Nix Cache + uses: DeterminateSystems/magic-nix-cache-action@main + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: bun install + + - name: Build WASM Package + run: nix develop --command bash -c "cd packages/@postgres-language-server/wasm && bun run build" + - name: Generate Packages (deprecated) id: generate-packages-deprecated run: node packages/@postgrestools/postgrestools/scripts/generate-packages.mjs diff --git a/packages/@postgres-language-server/cli/scripts/generate-packages.mjs b/packages/@postgres-language-server/cli/scripts/generate-packages.mjs index 440304025..c248e67ce 100644 --- a/packages/@postgres-language-server/cli/scripts/generate-packages.mjs +++ b/packages/@postgres-language-server/cli/scripts/generate-packages.mjs @@ -91,7 +91,7 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } -async function writeManifest(packagePath, version) { +async function writeManifest(packagePath, version, { versionOnly = false } = {}) { const manifestPath = resolve( PACKAGES_PGLS_ROOT, packagePath, @@ -102,12 +102,14 @@ async function writeManifest(packagePath, version) { fs.readFileSync(manifestPath).toString("utf-8") ); - const nativePackages = platformArchCombinations().map( - ({ platform, arch }) => [getPackageName(platform, arch), version] - ); - manifestData.version = version; - manifestData.optionalDependencies = Object.fromEntries(nativePackages); + + if (!versionOnly) { + const nativePackages = platformArchCombinations().map( + ({ platform, arch }) => [getPackageName(platform, arch), version] + ); + manifestData.optionalDependencies = Object.fromEntries(nativePackages); + } console.log(`Update manifest ${manifestPath}`); const content = JSON.stringify(manifestData, null, 2); @@ -276,6 +278,7 @@ function getVersion(releaseTag, isPrerelease) { const version = getVersion(releaseTag, isPrerelease); await writeManifest("cli", version); await writeManifest("backend-jsonrpc", version); + await writeManifest("wasm", version, { versionOnly: true }); // Copy README to main packages copyReadmeToPackage("cli");