From 064b3f24e66c107c2fe01290c0666798a324ed55 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 12:50:08 +0100 Subject: [PATCH 01/92] chore: add publish npm action --- .github/workflows/publish.yml | 53 +++++++ .github/workflows/release.yml | 2 +- packages/@pglt/pglt/package.json | 45 ++++++ .../@pglt/pglt/scripts/generate-packages.mjs | 137 ++++++++++++++++++ 4 files changed, 236 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml create mode 100644 packages/@pglt/pglt/package.json create mode 100644 packages/@pglt/pglt/scripts/generate-packages.mjs diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..f5d8817a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,53 @@ +name: Publish to NPM & Brew + +on: + workflow_dispatch: + release: + types: [released] + +jobs: + get_release_tag: + name: Get Latest Release Tag + runs-on: ubuntu-latest + outputs: + tagName: ${{ steps.get-tag-name.outputs.result }} + steps: + - uses: actions/github-script@v7 + id: get-tag-name + with: + # result-encoding: string + retries: 3 + script: | + const release = octokit.rest.repos.getLatestRelease({ + owner: context.repo.owner, + repo: context.repo.repo, + }); + + return { + tagName: release.tag_name, + assetsUrl: release.assets_url, + } + + publish: + name: Publish All the Things + needs: get_release_tag + runs-on: ubuntu-latest + # todo: add secrets + permissions: + contents: write + # ? what's this?! required for executing the node script? + id-token: write + steps: + - uses: actions/checkout@v4 + - name: Install Node + uses: actions/setup-node@v4 + with: + node-version: lts + registry-url: "https://registry.npmjs.org" + - name: Generate Packages + run: node //todo + + - name: Publish npm packages as latest + run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a4bc1b90..882dd01d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -130,7 +130,7 @@ jobs: fail_on_unmatched_files: true draft: true - - name: ✅ Output Link to Worflow Summary + - name: ✅ Output Link to Workflow Summary run: | { echo "# 🚀 Release completed!" diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json new file mode 100644 index 00000000..1a680f1d --- /dev/null +++ b/packages/@pglt/pglt/package.json @@ -0,0 +1,45 @@ +{ + "name": "pglt", + "version": "0.1.0", + "bin": { + "pglt": "bin/pglt" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/supabase/postgres_lsp.git", + "directory": "packages/@pglt/pglt" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Philipp Steinrötter", + "contributors": [ + { + "name": "Julian Domke", + "url": "https://github.com/juleswritescode" + } + ], + "license": "MIT or Apache-2.0", + "description": "", + "files": [ + "bin/biome", + "config_schema.json", + "README.md", + "LICENSE-APACHE", + "LICENSE-MIT", + "ROME-LICENSE-MIT" + ], + "engines": { + "node": ">=20" + }, + "optionalDependencies": { + "@pglt/cli-win32-x64": "1.9.4", + "@pglt/cli-win32-arm64": "1.9.4", + "@pglt/cli-darwin-x64": "1.9.4", + "@pglt/cli-darwin-arm64": "1.9.4", + "@pglt/cli-linux-x64": "1.9.4", + "@pglt/cli-linux-arm64": "1.9.4", + "@pglt/cli-linux-x64-musl": "1.9.4", + "@pglt/cli-linux-arm64-musl": "1.9.4" + } +} diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs new file mode 100644 index 00000000..3fbec9e1 --- /dev/null +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -0,0 +1,137 @@ +import assert from "node:assert"; +import * as fs from "node:fs"; +import { resolve } from "node:path"; +import { fileURLToPath } from "node:url"; +import { format } from "node:util"; + +const CLI_ROOT = resolve(fileURLToPath(import.meta.url), "../.."); +const PACKAGES_PGLT_ROOT = resolve(CLI_ROOT, ".."); +const PGLT_ROOT = resolve(PACKAGES_PGLT_ROOT, "../.."); +const MANIFEST_PATH = resolve(CLI_ROOT, "package.json"); + +async function downloadAsset(platform, os, arch, releaseTag, githubToken) { + const buildName = getBuildName(platform, arch); + const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; + + const response = await fetch(assetUrl, { + headers: { + Authorization: `token ${githubToken}`, + Accept: `application/octet-stream`, + }, + }); + + if (!response.ok) { + throw new Error(`Failed to Fetch Asset from ${assetUrl}`); + } + + const fileStream = fs.createWriteStream(getBinarySource(os, platform, arch)); + + await new Promise((res, rej) => { + response.body.pipeTo(fileStream); + fileStream.on("error", rej); + fileStream.on("finish", res); + }); + + console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); +} + +const rootManifest = JSON.parse( + fs.readFileSync(MANIFEST_PATH).toString("utf-8") +); + +function getBinaryExt(os) { + return os === "windows" ? ".exe" : ""; +} + +function getBinarySource(os, platform, arch) { + const ext = getBinaryExt(os); + return resolve(PGLT_ROOT, `${getBuildName(platform, arch)}${ext}`); +} + +function getBuildName(platform, arch) { + return format(`pglt_${arch}_${platform}`, arch); +} + +function getPackageName(platform, arch) { + // trim the "unknwown" from linux + const name = platform.split("-").slice(-2).join("-"); + return format(`@pglt/cli_${name}`, arch); +} + +function copyBinaryToNativePackage(platform, arch) { + const buildName = getBuildName(platform, arch); + const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); + const packageName = getPackageName(platform, arch); + + // "unknow-linux-gnu", "apple-darwin" – take linux, apple, windows + const os = platform.split("-").find((_, idx) => idx === 1); + + // Update the package.json manifest + const { version, license, repository, engines } = rootManifest; + + const manifest = JSON.stringify( + { + name: packageName, + version, + license, + repository, + engines, + os: [os], + cpu: [arch], + libc: (() => { + switch (os) { + case "linux": + return "gnu"; + case "windows": + return "msvc"; + default: + return undefined; + } + })(), + }, + null, + 2 + ); + + const manifestPath = resolve(packageRoot, "package.json"); + console.info(`Update manifest ${manifestPath}`); + fs.writeFileSync(manifestPath, manifest); + + // Copy the CLI binary + const binarySource = getBinarySource(os, platform, arch); + const ext = getBinaryExt(os); + const binaryTarget = resolve(packageRoot, `pglt${ext}`); + + if (!fs.existsSync(binarySource)) { + console.error( + `Source for binary for ${buildName} not found at: ${binarySource}` + ); + process.exit(1); + } + + console.info(`Copy binary ${binaryTarget}`); + fs.copyFileSync(binarySource, binaryTarget); + fs.chmodSync(binaryTarget, 0o755); +} + +(async function main() { + const githubToken = process.env.GITHUB_TOKEN; + const assetsUrl = process.env.ASSETS_URL; + const releaseTag = process.env.RELEASE_TAG; + + assert(githubToken, "GITHUB_TOKEN not defined!"); + assert(assetsUrl, "ASSETS_URL not defined!"); + assert(releaseTag, "RELEASE_TAG not defined!"); + + const PLATFORMS = ["windows-msvc", "apple-darwin", "unknown-linux-gnu"]; + const ARCHITECTURES = ["x86_64", "aarch64"]; + + for (const platform of PLATFORMS) { + for (const arch of ARCHITECTURES) { + await downloadAsset(platform, os, arch, releaseTag, githubToken); + copyBinaryToNativePackage(platform, arch); + } + } + + process.exit(0); +})(); From a9f36e7ebbda3b0df54f989c8c8499bf2ca77869 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 12:53:41 +0100 Subject: [PATCH 02/92] don't have that yet --- packages/@pglt/pglt/package.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 1a680f1d..25fc1bd9 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -22,12 +22,8 @@ "license": "MIT or Apache-2.0", "description": "", "files": [ - "bin/biome", - "config_schema.json", - "README.md", - "LICENSE-APACHE", - "LICENSE-MIT", - "ROME-LICENSE-MIT" + "bin/pglt", + "config_schema.json" ], "engines": { "node": ">=20" From 3e24df44b1732e785f578a8f8510ea7c5c1aa27c Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:01:02 +0100 Subject: [PATCH 03/92] copy that schema --- packages/@pglt/pglt/package.json | 2 +- .../@pglt/pglt/scripts/generate-packages.mjs | 49 ++++++++++++++++++- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 25fc1bd9..0f9b533d 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -23,7 +23,7 @@ "description": "", "files": [ "bin/pglt", - "config_schema.json" + "schema.json" ], "engines": { "node": ">=20" diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 3fbec9e1..a9909f89 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -9,6 +9,32 @@ const PACKAGES_PGLT_ROOT = resolve(CLI_ROOT, ".."); const PGLT_ROOT = resolve(PACKAGES_PGLT_ROOT, "../.."); const MANIFEST_PATH = resolve(CLI_ROOT, "package.json"); +async function downloadSchema(releaseTag, githubToken) { + const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/schema.json`; + + const response = await fetch(assetUrl, { + headers: { + Authorization: `token ${githubToken}`, + Accept: `application/octet-stream`, + }, + }); + + if (!response.ok) { + throw new Error(`Failed to Fetch Asset from ${assetUrl}`); + } + + // download to root. + const fileStream = fs.createWriteStream(resolve(PGLT_ROOT, "schema.json")); + + await new Promise((res, rej) => { + response.body.pipeTo(fileStream); + fileStream.on("error", rej); + fileStream.on("finish", res); + }); + + console.log(`Downloaded schema for ${releaseTag}`); +} + async function downloadAsset(platform, os, arch, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; @@ -24,6 +50,7 @@ async function downloadAsset(platform, os, arch, releaseTag, githubToken) { throw new Error(`Failed to Fetch Asset from ${assetUrl}`); } + // just download to root. const fileStream = fs.createWriteStream(getBinarySource(os, platform, arch)); await new Promise((res, rej) => { @@ -114,15 +141,32 @@ function copyBinaryToNativePackage(platform, arch) { fs.chmodSync(binaryTarget, 0o755); } +function copySchemaToNativePackage(platform, arch) { + const buildName = getBuildName(platform, arch); + const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); + + const schemaSrc = resolve(packageRoot, `schema.json`); + const schemaTarget = resolve(packageRoot, `schema.json`); + + if (!fs.existsSync(schemaSrc)) { + console.error(`Schema.json not found at: ${schemaSrc}`); + process.exit(1); + } + + console.info(`Copying schema.json`); + fs.copyFileSync(schemaSrc, schemaTarget); + fs.chmodSync(schemaTarget, 0o666); +} + (async function main() { const githubToken = process.env.GITHUB_TOKEN; - const assetsUrl = process.env.ASSETS_URL; const releaseTag = process.env.RELEASE_TAG; assert(githubToken, "GITHUB_TOKEN not defined!"); - assert(assetsUrl, "ASSETS_URL not defined!"); assert(releaseTag, "RELEASE_TAG not defined!"); + await downloadSchema(releaseTag, githubToken); + const PLATFORMS = ["windows-msvc", "apple-darwin", "unknown-linux-gnu"]; const ARCHITECTURES = ["x86_64", "aarch64"]; @@ -130,6 +174,7 @@ function copyBinaryToNativePackage(platform, arch) { for (const arch of ARCHITECTURES) { await downloadAsset(platform, os, arch, releaseTag, githubToken); copyBinaryToNativePackage(platform, arch); + copySchemaToNativePackage(platform, arch); } } From 4afd7925cf7c35747a424ea1c148dd506246a666 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:08:42 +0100 Subject: [PATCH 04/92] add thangs --- packages/@pglt/pglt_aarch64-apple-darwin/package.json | 1 + packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json | 1 + packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json | 1 + packages/@pglt/pglt_x86_64-apple-darwin/package.json | 1 + packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json | 1 + packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json | 1 + 6 files changed, 6 insertions(+) create mode 100644 packages/@pglt/pglt_aarch64-apple-darwin/package.json create mode 100644 packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json create mode 100644 packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json create mode 100644 packages/@pglt/pglt_x86_64-apple-darwin/package.json create mode 100644 packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json create mode 100644 packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json diff --git a/packages/@pglt/pglt_aarch64-apple-darwin/package.json b/packages/@pglt/pglt_aarch64-apple-darwin/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_aarch64-apple-darwin/package.json @@ -0,0 +1 @@ +{} diff --git a/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json b/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json @@ -0,0 +1 @@ +{} diff --git a/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json b/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json @@ -0,0 +1 @@ +{} diff --git a/packages/@pglt/pglt_x86_64-apple-darwin/package.json b/packages/@pglt/pglt_x86_64-apple-darwin/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_x86_64-apple-darwin/package.json @@ -0,0 +1 @@ +{} diff --git a/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json b/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json @@ -0,0 +1 @@ +{} diff --git a/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json b/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json @@ -0,0 +1 @@ +{} From 125f8fc772a1c0be663eb00a75e1b3aa5559df7d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:10:01 +0100 Subject: [PATCH 05/92] ok? --- packages/@pglt/pglt/package.json | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 0f9b533d..8374f37d 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -29,13 +29,11 @@ "node": ">=20" }, "optionalDependencies": { - "@pglt/cli-win32-x64": "1.9.4", - "@pglt/cli-win32-arm64": "1.9.4", - "@pglt/cli-darwin-x64": "1.9.4", - "@pglt/cli-darwin-arm64": "1.9.4", - "@pglt/cli-linux-x64": "1.9.4", - "@pglt/cli-linux-arm64": "1.9.4", - "@pglt/cli-linux-x64-musl": "1.9.4", - "@pglt/cli-linux-arm64-musl": "1.9.4" + "@pglt/cli-aarch64-apple-darwin": "0.1.0", + "@pglt/cli-aarch64-pc-windows-msvc": "0.1.0", + "@pglt/cli-aarch64-unknown-linux-gnu": "0.1.0", + "@pglt/cli-x86_64-apple-darwin": "0.1.0", + "@pglt/cli-x86_64-pc-windows-msvc": "0.1.0", + "@pglt/cli-x86_64-unknown-linux-gnu": "0.1.0" } } From 6baf503b0784c701f1ddb5ec1485d3487e937ff4 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:10:44 +0100 Subject: [PATCH 06/92] trim names --- packages/@pglt/pglt/package.json | 11 ++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 8374f37d..8f507573 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -9,9 +9,6 @@ "url": "git+https://github.com/supabase/postgres_lsp.git", "directory": "packages/@pglt/pglt" }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, "author": "Philipp Steinrötter", "contributors": [ { @@ -30,10 +27,10 @@ }, "optionalDependencies": { "@pglt/cli-aarch64-apple-darwin": "0.1.0", - "@pglt/cli-aarch64-pc-windows-msvc": "0.1.0", - "@pglt/cli-aarch64-unknown-linux-gnu": "0.1.0", + "@pglt/cli-aarch64-windows-msvc": "0.1.0", + "@pglt/cli-aarch64-linux-gnu": "0.1.0", "@pglt/cli-x86_64-apple-darwin": "0.1.0", - "@pglt/cli-x86_64-pc-windows-msvc": "0.1.0", - "@pglt/cli-x86_64-unknown-linux-gnu": "0.1.0" + "@pglt/cli-x86_64-windows-msvc": "0.1.0", + "@pglt/cli-x86_64-linux-gnu": "0.1.0" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index a9909f89..b380038a 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -80,7 +80,7 @@ function getBuildName(platform, arch) { } function getPackageName(platform, arch) { - // trim the "unknwown" from linux + // trim the "unknown" from linux const name = platform.split("-").slice(-2).join("-"); return format(`@pglt/cli_${name}`, arch); } From 6b0aa3d64a8711858927cf1f95867f7db9e62936 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:21:47 +0100 Subject: [PATCH 07/92] debug thing --- .github/workflows/publish.dispatch.yml | 17 +++++++++ .github/workflows/publish.reusable.yml | 44 +++++++++++++++++++++ .github/workflows/publish.yml | 53 -------------------------- 3 files changed, 61 insertions(+), 53 deletions(-) create mode 100644 .github/workflows/publish.dispatch.yml create mode 100644 .github/workflows/publish.reusable.yml delete mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml new file mode 100644 index 00000000..77dd2aa9 --- /dev/null +++ b/.github/workflows/publish.dispatch.yml @@ -0,0 +1,17 @@ +name: Publish NPM (Dispatch) + +on: + workflow_dispatch: + inputs: + release_tag: + type: string + required: true + description: Release Tag to Publish + +jobs: + publish_npm: + uses: ./.github/workflows/publish.reusable.yml + with: + release-tag: ${{ github.event.inputs.release_tag }} + secrets: + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml new file mode 100644 index 00000000..efcc6877 --- /dev/null +++ b/.github/workflows/publish.reusable.yml @@ -0,0 +1,44 @@ +name: Publish to NPM & Brew + +on: + workflow_call: + inputs: + release-tag: + type: string + required: true + secrets: + github_token: + required: true + +jobs: + publish: + name: Publish All the Things + runs-on: ubuntu-latest + # todo: add secrets + permissions: + contents: write + # ? what's this?! required for executing the node script? + id-token: write + steps: + - uses: actions/checkout@v4 + + - name: Install Node + uses: actions/setup-node@v4 + with: + node-version: lts + registry-url: "https://registry.npmjs.org" + + - name: Generate Packages + run: node packages/@pglt/pglt/scripts/generate-packages.mjs + + - name: DEBUG - log assets + run: | + { + ls packages/@pglt/pglt_aarch64_pc-windows-msvc + cat packages/@pglt/pglt_aarch64_pc-windows-msvc/package.json + } + + # - name: Publish npm packages as latest + # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done + # env: + # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index f5d8817a..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Publish to NPM & Brew - -on: - workflow_dispatch: - release: - types: [released] - -jobs: - get_release_tag: - name: Get Latest Release Tag - runs-on: ubuntu-latest - outputs: - tagName: ${{ steps.get-tag-name.outputs.result }} - steps: - - uses: actions/github-script@v7 - id: get-tag-name - with: - # result-encoding: string - retries: 3 - script: | - const release = octokit.rest.repos.getLatestRelease({ - owner: context.repo.owner, - repo: context.repo.repo, - }); - - return { - tagName: release.tag_name, - assetsUrl: release.assets_url, - } - - publish: - name: Publish All the Things - needs: get_release_tag - runs-on: ubuntu-latest - # todo: add secrets - permissions: - contents: write - # ? what's this?! required for executing the node script? - id-token: write - steps: - - uses: actions/checkout@v4 - - name: Install Node - uses: actions/setup-node@v4 - with: - node-version: lts - registry-url: "https://registry.npmjs.org" - - name: Generate Packages - run: node //todo - - - name: Publish npm packages as latest - run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From eaf309774ad3cab368c45bdaf2603a2a6475195d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:23:52 +0100 Subject: [PATCH 08/92] ok? --- .github/workflows/publish.reusable.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index efcc6877..a01579b5 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -14,6 +14,7 @@ jobs: publish: name: Publish All the Things runs-on: ubuntu-latest + # todo: add secrets permissions: contents: write @@ -30,6 +31,9 @@ jobs: - name: Generate Packages run: node packages/@pglt/pglt/scripts/generate-packages.mjs + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + RELEASE_TAG: ${{ inputs.release-tag }} - name: DEBUG - log assets run: | From 0ce8fa3a32bb6d05f39d4c526d322c2c209f94ac Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:25:47 +0100 Subject: [PATCH 09/92] changy change --- packages/@pglt/pglt/package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 8f507573..3b7b1ba1 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -9,8 +9,12 @@ "url": "git+https://github.com/supabase/postgres_lsp.git", "directory": "packages/@pglt/pglt" }, - "author": "Philipp Steinrötter", + "author": "Supabase Community", "contributors": [ + { + "name": "Philipp Steinrötter", + "url": "https://github.com/psteinroe" + }, { "name": "Julian Domke", "url": "https://github.com/juleswritescode" From f63de176da4b10fff4c60cf821dc35774452035a Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:27:28 +0100 Subject: [PATCH 10/92] like so? --- .github/workflows/publish.dispatch.yml | 3 +-- .github/workflows/publish.reusable.yml | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 77dd2aa9..d07a80cd 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -13,5 +13,4 @@ jobs: uses: ./.github/workflows/publish.reusable.yml with: release-tag: ${{ github.event.inputs.release_tag }} - secrets: - github_token: ${{ secrets.GITHUB_TOKEN }} + secrets: inherit diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index a01579b5..349704c1 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -6,9 +6,6 @@ on: release-tag: type: string required: true - secrets: - github_token: - required: true jobs: publish: From d7cf708ac19c1a310e56e18d7d275a2fecf64fd9 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:30:04 +0100 Subject: [PATCH 11/92] make it test --- .github/workflows/publish.reusable.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 349704c1..8360d927 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -1,11 +1,10 @@ name: Publish to NPM & Brew on: - workflow_call: - inputs: - release-tag: - type: string - required: true + pull_request: + branches: + - juleswritescode:chore/add-publish-action + - chore/add-publish-action jobs: publish: @@ -30,7 +29,7 @@ jobs: run: node packages/@pglt/pglt/scripts/generate-packages.mjs env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - RELEASE_TAG: ${{ inputs.release-tag }} + RELEASE_TAG: "0.1.0" - name: DEBUG - log assets run: | From dbe192478506870dba449448f64f146d1e586a4b Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:31:45 +0100 Subject: [PATCH 12/92] well --- .github/workflows/publish.reusable.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 8360d927..3ae8eee7 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -3,8 +3,8 @@ name: Publish to NPM & Brew on: pull_request: branches: - - juleswritescode:chore/add-publish-action - - chore/add-publish-action + - main + - supabase-community:main jobs: publish: From 9e3e092ece22dcf8cc362eebb4882c1762939090 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:32:35 +0100 Subject: [PATCH 13/92] thats not a valid alias --- .github/workflows/publish.reusable.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 3ae8eee7..0193f8b4 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -22,7 +22,7 @@ jobs: - name: Install Node uses: actions/setup-node@v4 with: - node-version: lts + node-version: lts/* registry-url: "https://registry.npmjs.org" - name: Generate Packages From 711fb484599bc7b71c0b90c9af35d60073d9867c Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:37:18 +0100 Subject: [PATCH 14/92] use pipes --- .../@pglt/pglt/scripts/generate-packages.mjs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index b380038a..c24e95c1 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -1,14 +1,17 @@ import assert from "node:assert"; import * as fs from "node:fs"; +import { pipeline } from "node:stream"; import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; -import { format } from "node:util"; +import { format, promisify } from "node:util"; const CLI_ROOT = resolve(fileURLToPath(import.meta.url), "../.."); const PACKAGES_PGLT_ROOT = resolve(CLI_ROOT, ".."); const PGLT_ROOT = resolve(PACKAGES_PGLT_ROOT, "../.."); const MANIFEST_PATH = resolve(CLI_ROOT, "package.json"); +const streamPipeline = promisify(pipeline); + async function downloadSchema(releaseTag, githubToken) { const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/schema.json`; @@ -26,11 +29,7 @@ async function downloadSchema(releaseTag, githubToken) { // download to root. const fileStream = fs.createWriteStream(resolve(PGLT_ROOT, "schema.json")); - await new Promise((res, rej) => { - response.body.pipeTo(fileStream); - fileStream.on("error", rej); - fileStream.on("finish", res); - }); + await streamPipeline(response.body, fileStream); console.log(`Downloaded schema for ${releaseTag}`); } @@ -53,11 +52,7 @@ async function downloadAsset(platform, os, arch, releaseTag, githubToken) { // just download to root. const fileStream = fs.createWriteStream(getBinarySource(os, platform, arch)); - await new Promise((res, rej) => { - response.body.pipeTo(fileStream); - fileStream.on("error", rej); - fileStream.on("finish", res); - }); + await streamPipeline(response.body, fileStream); console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } From f4abd92797094058dc43bd3b5b74f230f7d56206 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:40:01 +0100 Subject: [PATCH 15/92] rework --- packages/@pglt/pglt/scripts/generate-packages.mjs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index c24e95c1..7432b637 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -80,13 +80,16 @@ function getPackageName(platform, arch) { return format(`@pglt/cli_${name}`, arch); } -function copyBinaryToNativePackage(platform, arch) { +function getOs(platform) { + return platform.split("-").find((_, idx) => idx === 1); +} + +function copyBinaryToNativePackage(platform, arch, os) { const buildName = getBuildName(platform, arch); const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); const packageName = getPackageName(platform, arch); // "unknow-linux-gnu", "apple-darwin" – take linux, apple, windows - const os = platform.split("-").find((_, idx) => idx === 1); // Update the package.json manifest const { version, license, repository, engines } = rootManifest; @@ -167,8 +170,9 @@ function copySchemaToNativePackage(platform, arch) { for (const platform of PLATFORMS) { for (const arch of ARCHITECTURES) { + const os = getOs(platform); await downloadAsset(platform, os, arch, releaseTag, githubToken); - copyBinaryToNativePackage(platform, arch); + copyBinaryToNativePackage(platform, arch, os); copySchemaToNativePackage(platform, arch); } } From 38e30cfd6098d1fa3658c675c60ec30e10dabddf Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:41:16 +0100 Subject: [PATCH 16/92] ocd --- packages/@pglt/pglt/scripts/generate-packages.mjs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 7432b637..a9479c25 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -34,7 +34,7 @@ async function downloadSchema(releaseTag, githubToken) { console.log(`Downloaded schema for ${releaseTag}`); } -async function downloadAsset(platform, os, arch, releaseTag, githubToken) { +async function downloadAsset(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; @@ -50,7 +50,7 @@ async function downloadAsset(platform, os, arch, releaseTag, githubToken) { } // just download to root. - const fileStream = fs.createWriteStream(getBinarySource(os, platform, arch)); + const fileStream = fs.createWriteStream(getBinarySource(platform, arch, os)); await streamPipeline(response.body, fileStream); @@ -65,7 +65,7 @@ function getBinaryExt(os) { return os === "windows" ? ".exe" : ""; } -function getBinarySource(os, platform, arch) { +function getBinarySource(platform, arch, os) { const ext = getBinaryExt(os); return resolve(PGLT_ROOT, `${getBuildName(platform, arch)}${ext}`); } @@ -123,7 +123,7 @@ function copyBinaryToNativePackage(platform, arch, os) { fs.writeFileSync(manifestPath, manifest); // Copy the CLI binary - const binarySource = getBinarySource(os, platform, arch); + const binarySource = getBinarySource(platform, arch, os); const ext = getBinaryExt(os); const binaryTarget = resolve(packageRoot, `pglt${ext}`); @@ -169,9 +169,10 @@ function copySchemaToNativePackage(platform, arch) { const ARCHITECTURES = ["x86_64", "aarch64"]; for (const platform of PLATFORMS) { + const os = getOs(platform); + for (const arch of ARCHITECTURES) { - const os = getOs(platform); - await downloadAsset(platform, os, arch, releaseTag, githubToken); + await downloadAsset(platform, arch, os, releaseTag, githubToken); copyBinaryToNativePackage(platform, arch, os); copySchemaToNativePackage(platform, arch); } From 584c67af5ecc7cea7ea0ec01d78abd81bbfe487d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:43:44 +0100 Subject: [PATCH 17/92] wrong platform name --- packages/@pglt/pglt/scripts/generate-packages.mjs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index a9479c25..85895dcd 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -36,6 +36,9 @@ async function downloadSchema(releaseTag, githubToken) { async function downloadAsset(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); + + // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64_windows-msvc + // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; const response = await fetch(assetUrl, { @@ -165,7 +168,7 @@ function copySchemaToNativePackage(platform, arch) { await downloadSchema(releaseTag, githubToken); - const PLATFORMS = ["windows-msvc", "apple-darwin", "unknown-linux-gnu"]; + const PLATFORMS = ["pc-windows-msvc", "apple-darwin", "unknown-linux-gnu"]; const ARCHITECTURES = ["x86_64", "aarch64"]; for (const platform of PLATFORMS) { From ebd6760ca7071da307c90c68980def4f0e1e382c Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:45:32 +0100 Subject: [PATCH 18/92] debug --- packages/@pglt/pglt/scripts/generate-packages.mjs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 85895dcd..6596aa12 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -37,7 +37,7 @@ async function downloadSchema(releaseTag, githubToken) { async function downloadAsset(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); - // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64_windows-msvc + // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64_pc-windows-msvc // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; @@ -49,7 +49,8 @@ async function downloadAsset(platform, arch, os, releaseTag, githubToken) { }); if (!response.ok) { - throw new Error(`Failed to Fetch Asset from ${assetUrl}`); + const error = await response.text(); + throw new Error(`Failed to Fetch Asset from ${assetUrl}. Reason: ${error}`); } // just download to root. From c698b4c003019e259090c5130207ca3570f46d80 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:47:10 +0100 Subject: [PATCH 19/92] well... --- packages/@pglt/pglt/scripts/generate-packages.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 6596aa12..f24125c7 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -75,13 +75,13 @@ function getBinarySource(platform, arch, os) { } function getBuildName(platform, arch) { - return format(`pglt_${arch}_${platform}`, arch); + return `pglt_${arch}_${platform}`; } function getPackageName(platform, arch) { // trim the "unknown" from linux const name = platform.split("-").slice(-2).join("-"); - return format(`@pglt/cli_${name}`, arch); + return `@pglt/cli_${arch}-${name}`; } function getOs(platform) { From 10d082297e5f704693a17e727f7eff4269187938 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:47:32 +0100 Subject: [PATCH 20/92] more sexy --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index f24125c7..7d99711e 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -81,7 +81,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux const name = platform.split("-").slice(-2).join("-"); - return `@pglt/cli_${arch}-${name}`; + return `@pglt/cli-${arch}-${name}`; } function getOs(platform) { From 92c9658107b13004664b325cb49b7b6f442ac495 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:49:37 +0100 Subject: [PATCH 21/92] thats not an underscore --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 7d99711e..11328448 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -75,7 +75,7 @@ function getBinarySource(platform, arch, os) { } function getBuildName(platform, arch) { - return `pglt_${arch}_${platform}`; + return `pglt_${arch}-${platform}`; } function getPackageName(platform, arch) { From 348dfaf24a32eee6302fb99dedc541982260d26a Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:51:07 +0100 Subject: [PATCH 22/92] schema src --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 11328448..823cf2ad 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -147,7 +147,7 @@ function copySchemaToNativePackage(platform, arch) { const buildName = getBuildName(platform, arch); const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); - const schemaSrc = resolve(packageRoot, `schema.json`); + const schemaSrc = resolve(PGLT_ROOT, `schema.json`); const schemaTarget = resolve(packageRoot, `schema.json`); if (!fs.existsSync(schemaSrc)) { From d43694891655b9e91d51b3f4c616667c456caa2a Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:52:47 +0100 Subject: [PATCH 23/92] escape? --- .github/workflows/publish.reusable.yml | 4 ++-- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 0193f8b4..92e34f43 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -34,8 +34,8 @@ jobs: - name: DEBUG - log assets run: | { - ls packages/@pglt/pglt_aarch64_pc-windows-msvc - cat packages/@pglt/pglt_aarch64_pc-windows-msvc/package.json + ls packages/\@pglt/pglt_aarch64_pc-windows-msvc + cat packages/\@pglt/pglt_aarch64_pc-windows-msvc/package.json } # - name: Publish npm packages as latest diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 823cf2ad..089ce379 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -151,7 +151,7 @@ function copySchemaToNativePackage(platform, arch) { const schemaTarget = resolve(packageRoot, `schema.json`); if (!fs.existsSync(schemaSrc)) { - console.error(`Schema.json not found at: ${schemaSrc}`); + console.error(`schema.json not found at: ${schemaSrc}`); process.exit(1); } From a1607c50e4fceb8a4b369bfaf54e7af587e6c0d6 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:53:01 +0100 Subject: [PATCH 24/92] cleanup --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 089ce379..95e09727 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -37,8 +37,6 @@ async function downloadSchema(releaseTag, githubToken) { async function downloadAsset(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); - // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64_pc-windows-msvc - // https://github.com/supabase-community/postgres_lsp/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; const response = await fetch(assetUrl, { From c3b03b273a4f7a217be563346f894fe9bec7dbe7 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:53:33 +0100 Subject: [PATCH 25/92] herantasten --- .github/workflows/publish.reusable.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 92e34f43..f61af2e8 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -34,6 +34,8 @@ jobs: - name: DEBUG - log assets run: | { + ls packages + ls packages/\@pglt ls packages/\@pglt/pglt_aarch64_pc-windows-msvc cat packages/\@pglt/pglt_aarch64_pc-windows-msvc/package.json } From bbde5f7ed24c9d54200e0c128869c7a64374368b Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:55:28 +0100 Subject: [PATCH 26/92] these underscores dang --- .github/workflows/publish.reusable.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index f61af2e8..fe539524 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -36,8 +36,8 @@ jobs: { ls packages ls packages/\@pglt - ls packages/\@pglt/pglt_aarch64_pc-windows-msvc - cat packages/\@pglt/pglt_aarch64_pc-windows-msvc/package.json + ls packages/\@pglt/pglt_aarch64-pc-windows-msvc + cat packages/\@pglt/pglt_aarch64-pc-windows-msvc/package.json } # - name: Publish npm packages as latest From 29e9dbdb84afeca461107661980b8605dfdcde6e Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 13:56:45 +0100 Subject: [PATCH 27/92] it apparently works --- .github/workflows/publish.reusable.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index fe539524..bb2ebecc 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -31,15 +31,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} RELEASE_TAG: "0.1.0" - - name: DEBUG - log assets - run: | - { - ls packages - ls packages/\@pglt - ls packages/\@pglt/pglt_aarch64-pc-windows-msvc - cat packages/\@pglt/pglt_aarch64-pc-windows-msvc/package.json - } - # - name: Publish npm packages as latest # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done # env: From 9250363a6d94d626d4277c78f699e387ab79819d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:02:55 +0100 Subject: [PATCH 28/92] restructure --- packages/@pglt/pglt/package.json | 14 ++-- .../@pglt/pglt/scripts/generate-packages.mjs | 80 +++++++++++-------- 2 files changed, 54 insertions(+), 40 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 3b7b1ba1..d14e0ba2 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,6 +1,6 @@ { "name": "pglt", - "version": "0.1.0", + "version": "", "bin": { "pglt": "bin/pglt" }, @@ -30,11 +30,11 @@ "node": ">=20" }, "optionalDependencies": { - "@pglt/cli-aarch64-apple-darwin": "0.1.0", - "@pglt/cli-aarch64-windows-msvc": "0.1.0", - "@pglt/cli-aarch64-linux-gnu": "0.1.0", - "@pglt/cli-x86_64-apple-darwin": "0.1.0", - "@pglt/cli-x86_64-windows-msvc": "0.1.0", - "@pglt/cli-x86_64-linux-gnu": "0.1.0" + "@pglt/cli-aarch64-apple-darwin": "", + "@pglt/cli-aarch64-windows-msvc": "", + "@pglt/cli-aarch64-linux-gnu": "", + "@pglt/cli-x86_64-apple-darwin": "", + "@pglt/cli-x86_64-windows-msvc": "", + "@pglt/cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 95e09727..a44bc96a 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -3,14 +3,19 @@ import * as fs from "node:fs"; import { pipeline } from "node:stream"; import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; -import { format, promisify } from "node:util"; +import { promisify } from "node:util"; +const streamPipeline = promisify(pipeline); const CLI_ROOT = resolve(fileURLToPath(import.meta.url), "../.."); const PACKAGES_PGLT_ROOT = resolve(CLI_ROOT, ".."); const PGLT_ROOT = resolve(PACKAGES_PGLT_ROOT, "../.."); const MANIFEST_PATH = resolve(CLI_ROOT, "package.json"); - -const streamPipeline = promisify(pipeline); +const SUPPORTED_PLATFORMS = [ + "pc-windows-msvc", + "apple-darwin", + "unknown-linux-gnu", +]; +const SUPPORTED_ARCHITECTURES = ["x86_64", "aarch64"]; async function downloadSchema(releaseTag, githubToken) { const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/schema.json`; @@ -34,7 +39,7 @@ async function downloadSchema(releaseTag, githubToken) { console.log(`Downloaded schema for ${releaseTag}`); } -async function downloadAsset(platform, arch, os, releaseTag, githubToken) { +async function downloadBinary(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; @@ -59,31 +64,15 @@ async function downloadAsset(platform, arch, os, releaseTag, githubToken) { console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } -const rootManifest = JSON.parse( - fs.readFileSync(MANIFEST_PATH).toString("utf-8") -); - -function getBinaryExt(os) { - return os === "windows" ? ".exe" : ""; -} +async function overwriteManifestVersions(releaseTag) { + const manifestClone = structuredClone(rootManifest); -function getBinarySource(platform, arch, os) { - const ext = getBinaryExt(os); - return resolve(PGLT_ROOT, `${getBuildName(platform, arch)}${ext}`); -} - -function getBuildName(platform, arch) { - return `pglt_${arch}-${platform}`; -} - -function getPackageName(platform, arch) { - // trim the "unknown" from linux - const name = platform.split("-").slice(-2).join("-"); - return `@pglt/cli-${arch}-${name}`; -} + manifestClone.version = releaseTag; + for (const key in manifestClone.optionalDependencies) { + manifestClone.optionalDependencies[key] = releaseTag; + } -function getOs(platform) { - return platform.split("-").find((_, idx) => idx === 1); + fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); } function copyBinaryToNativePackage(platform, arch, os) { @@ -158,6 +147,33 @@ function copySchemaToNativePackage(platform, arch) { fs.chmodSync(schemaTarget, 0o666); } +const rootManifest = JSON.parse( + fs.readFileSync(MANIFEST_PATH).toString("utf-8") +); + +function getBinaryExt(os) { + return os === "windows" ? ".exe" : ""; +} + +function getBinarySource(platform, arch, os) { + const ext = getBinaryExt(os); + return resolve(PGLT_ROOT, `${getBuildName(platform, arch)}${ext}`); +} + +function getBuildName(platform, arch) { + return `pglt_${arch}-${platform}`; +} + +function getPackageName(platform, arch) { + // trim the "unknown" from linux and the "pc" from windows + const name = platform.split("-").slice(-2).join("-"); + return `@pglt/cli-${arch}-${name}`; +} + +function getOs(platform) { + return platform.split("-").find((_, idx) => idx === 1); +} + (async function main() { const githubToken = process.env.GITHUB_TOKEN; const releaseTag = process.env.RELEASE_TAG; @@ -166,15 +182,13 @@ function copySchemaToNativePackage(platform, arch) { assert(releaseTag, "RELEASE_TAG not defined!"); await downloadSchema(releaseTag, githubToken); + overwriteManifestVersions(releaseTag); - const PLATFORMS = ["pc-windows-msvc", "apple-darwin", "unknown-linux-gnu"]; - const ARCHITECTURES = ["x86_64", "aarch64"]; - - for (const platform of PLATFORMS) { + for (const platform of SUPPORTED_PLATFORMS) { const os = getOs(platform); - for (const arch of ARCHITECTURES) { - await downloadAsset(platform, arch, os, releaseTag, githubToken); + for (const arch of SUPPORTED_ARCHITECTURES) { + await downloadBinary(platform, arch, os, releaseTag, githubToken); copyBinaryToNativePackage(platform, arch, os); copySchemaToNativePackage(platform, arch); } From 7a4f004f936c59f052cefc0e00e62ddedf320e68 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:03:44 +0100 Subject: [PATCH 29/92] ls that stuff --- .github/workflows/publish.reusable.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index bb2ebecc..f99dbfc6 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -31,6 +31,9 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} RELEASE_TAG: "0.1.0" + - name: DEBUG + run: ls packages/\@pglt/pglt/package.json + # - name: Publish npm packages as latest # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done # env: From 59bd6432900676a45a87a533854dcc2dbcb7f774 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:04:41 +0100 Subject: [PATCH 30/92] cat instead --- .github/workflows/publish.reusable.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index f99dbfc6..a898ab44 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -32,7 +32,7 @@ jobs: RELEASE_TAG: "0.1.0" - name: DEBUG - run: ls packages/\@pglt/pglt/package.json + run: cat packages/\@pglt/pglt/package.json # - name: Publish npm packages as latest # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done From 7aed7f4a6b8b8f33d84fc495cfe4da4c9844d189 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:17:22 +0100 Subject: [PATCH 31/92] this the script? --- packages/@pglt/pglt/bin/pglt | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 packages/@pglt/pglt/bin/pglt diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt new file mode 100644 index 00000000..06101104 --- /dev/null +++ b/packages/@pglt/pglt/bin/pglt @@ -0,0 +1,46 @@ +#!/usr/bin/env node +const { platform, arch, env } = process; + +/** + * platform and arch are values injected into the node runtime. + * We use the values documented on https://nodejs.org. + */ +const PLATFORMS = { + win32: { + x64: "@pglt/cli-x86_64-windows-msvc/pglt.exe", + arm64: "@pglt/cli-aarch64-windows-msvc/pglt.exe", + }, + darwin: { + x64: "@pglt/cli-x86_64-apple-darwin/pglt", + arm64: "@pglt/cli-aarch64-apple-darwin/pglt", + }, + linux: { + x64: "@pglt/cli-x86_64-linux-gnu/pglt", + arm64: "@pglt/cli-aarch64-linux-gnu/pglt", + }, +}; + +const binPath = env.PGLT_BINARY || PLATFORMS?.[platform]?.[arch]; + +if (binPath) { + const result = require("child_process").spawnSync( + require.resolve(binPath), + process.argv.slice(2), + { + shell: false, + stdio: "inherit", + env, + } + ); + + if (result.error) { + throw result.error; + } + + process.exitCode = result.status; +} else { + console.error( + "The pglt CLI package doesn't ship with prebuilt binaries for your platform yet. Please file an issue in the main repository." + ); + process.exitCode = 1; +} From 5bf5a70266dfb04a4f31949a44cb5e828905c0d3 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:17:46 +0100 Subject: [PATCH 32/92] desc --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index d14e0ba2..c36600b5 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -21,7 +21,7 @@ } ], "license": "MIT or Apache-2.0", - "description": "", + "description": "A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling.", "files": [ "bin/pglt", "schema.json" From 9d190c783237f7d8eecdb423f1e7beb344059bcd Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 15:57:51 +0100 Subject: [PATCH 33/92] prepwork --- .github/workflows/publish.dispatch.yml | 36 ++++++++++++++++++- .github/workflows/publish.reusable.yml | 5 ++- .github/workflows/publish.trigger.yml | 13 +++++++ .../@pglt/pglt/scripts/generate-packages.mjs | 8 +++-- 4 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/publish.trigger.yml diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index d07a80cd..d608910e 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -1,4 +1,4 @@ -name: Publish NPM (Dispatch) +name: Publish NPM (Manual) on: workflow_dispatch: @@ -9,7 +9,41 @@ on: description: Release Tag to Publish jobs: + validate_tag: + uses: actions/github-script@v7 + with: + script: | + const tag = ''; + + let exhausted = false; + let page = 1; + while (!exhausted) { + const releases = octokit.rest.repos.listReleases({ + owner: context.repo.owner, + repo: context.repo.repo, + page, + per_page: 100, + }); + + const matchingRelease = releases.find(r => r.tag_name === tag); + if (matchingRelease) { + core.setOutput('hasRelease', true); + core.setOutput('isPrerelease', release.prerelease); + return; + } + + if (releases.length < 100) { + exhausted = true; + } else { + page++ + } + } + + core.setOutput('hasRelease', false); + core.setOutput('isPrerelease', false); + publish_npm: + needs: validate_tag uses: ./.github/workflows/publish.reusable.yml with: release-tag: ${{ github.event.inputs.release_tag }} diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index a898ab44..87bcd2fc 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -30,10 +30,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} RELEASE_TAG: "0.1.0" + PRERELEASE: "true" - - name: DEBUG - run: cat packages/\@pglt/pglt/package.json - + # TODO: use latest/nightly tag depending on prerelease # - name: Publish npm packages as latest # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done # env: diff --git a/.github/workflows/publish.trigger.yml b/.github/workflows/publish.trigger.yml new file mode 100644 index 00000000..9f162e7b --- /dev/null +++ b/.github/workflows/publish.trigger.yml @@ -0,0 +1,13 @@ +name: Publish NPM (Automatic) + +on: + release: + types: [released, prereleased] + +jobs: + publish_npm: + uses: ./.github/workflows/publish.reusable.yml + with: + release-tag: ${{ github.event.release.tag_name }} + is-prerelease: ${{ github.event.release.prerelease }} + secrets: inherit diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index a44bc96a..b7cccc46 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -176,11 +176,15 @@ function getOs(platform) { (async function main() { const githubToken = process.env.GITHUB_TOKEN; - const releaseTag = process.env.RELEASE_TAG; - + let releaseTag = process.env.RELEASE_TAG; assert(githubToken, "GITHUB_TOKEN not defined!"); assert(releaseTag, "RELEASE_TAG not defined!"); + const isPrerelease = process.env.PRERELEASE === "true"; + if (isPrerelease) { + releaseTag += "-rc"; + } + await downloadSchema(releaseTag, githubToken); overwriteManifestVersions(releaseTag); From 82cf431c23cf4c0ea71579e94c1e510a0ae675c3 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:34:26 +0100 Subject: [PATCH 34/92] improve left & right --- .github/workflows/publish.dispatch.yml | 86 ++++++++++++++++---------- 1 file changed, 52 insertions(+), 34 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index d608910e..7e196900 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -10,41 +10,59 @@ on: jobs: validate_tag: - uses: actions/github-script@v7 - with: - script: | - const tag = ''; - - let exhausted = false; - let page = 1; - while (!exhausted) { - const releases = octokit.rest.repos.listReleases({ - owner: context.repo.owner, - repo: context.repo.repo, - page, - per_page: 100, - }); - - const matchingRelease = releases.find(r => r.tag_name === tag); - if (matchingRelease) { - core.setOutput('hasRelease', true); - core.setOutput('isPrerelease', release.prerelease); - return; - } + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + id: validate-release + with: + script: | + const tag = core.getInput('release_tag', { required: true }); + + let exhausted = false; + let page = 1; + while (!exhausted) { + const releases = octokit.rest.repos.listReleases({ + owner: context.repo.owner, + repo: context.repo.repo, + page, + per_page: 100, + }); + + const matchingRelease = releases.find(r => r.tag_name === tag); + if (matchingRelease) { + core.setOutput('hasRelease', true); + core.setOutput('isPrerelease', release.prerelease); + return; + } - if (releases.length < 100) { - exhausted = true; - } else { - page++ + if (releases.length < 100) { + exhausted = true; + } else { + page++ + } + } + + core.setOutput('hasRelease', false); + core.setOutput('isPrerelease', false); + + - name: Abort + if: ${{ !steps.validate-release.outputs.hasRelease }} + run: | + { + echo "Tag ${{ github.event.inputs.release_tag }} not found." + exit 1 } - } - core.setOutput('hasRelease', false); - core.setOutput('isPrerelease', false); + - name: Print Output + run: | + { + echo "Has Release: ${{ steps.validate-release.outputs.hasRelease }}" + echo "Is Prerelease: ${{ steps.validate-release.outputs.isPrerelease }}" + } - publish_npm: - needs: validate_tag - uses: ./.github/workflows/publish.reusable.yml - with: - release-tag: ${{ github.event.inputs.release_tag }} - secrets: inherit + # publish_npm: + # needs: validate_tag + # uses: ./.github/workflows/publish.reusable.yml + # with: + # release-tag: ${{ github.event.inputs.release_tag }} + # secrets: inherit From ee914d7cd1587d34f0df15bdbd118865322a5a51 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:35:35 +0100 Subject: [PATCH 35/92] test-release name --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index b7cccc46..416ccab2 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -167,7 +167,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `@pglt/cli-${arch}-${name}`; + return `@pglt/testrelease-cli-${arch}-${name}`; } function getOs(platform) { From 72499a5de6832d42614a1c71b14c8c267df38f1d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:36:27 +0100 Subject: [PATCH 36/92] ? --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 06101104..0dd9f286 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "@pglt/cli-x86_64-windows-msvc/pglt.exe", - arm64: "@pglt/cli-aarch64-windows-msvc/pglt.exe", + x64: "@pglt/testrelease-cli-x86_64-windows-msvc/pglt.exe", + arm64: "@pglt/testrelease-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "@pglt/cli-x86_64-apple-darwin/pglt", - arm64: "@pglt/cli-aarch64-apple-darwin/pglt", + x64: "@pglt/testrelease-cli-x86_64-apple-darwin/pglt", + arm64: "@pglt/testrelease-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "@pglt/cli-x86_64-linux-gnu/pglt", - arm64: "@pglt/cli-aarch64-linux-gnu/pglt", + x64: "@pglt/testrelease-cli-x86_64-linux-gnu/pglt", + arm64: "@pglt/testrelease-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index c36600b5..1f3a41ab 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -30,11 +30,11 @@ "node": ">=20" }, "optionalDependencies": { - "@pglt/cli-aarch64-apple-darwin": "", - "@pglt/cli-aarch64-windows-msvc": "", - "@pglt/cli-aarch64-linux-gnu": "", - "@pglt/cli-x86_64-apple-darwin": "", - "@pglt/cli-x86_64-windows-msvc": "", - "@pglt/cli-x86_64-linux-gnu": "" + "@pglt/testrelease-cli-aarch64-apple-darwin": "", + "@pglt/testrelease-cli-aarch64-windows-msvc": "", + "@pglt/testrelease-cli-aarch64-linux-gnu": "", + "@pglt/testrelease-cli-x86_64-apple-darwin": "", + "@pglt/testrelease-cli-x86_64-windows-msvc": "", + "@pglt/testrelease-cli-x86_64-linux-gnu": "" } } From 06615745d77081fd107c406f3fad9731a2becd57 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:43:11 +0100 Subject: [PATCH 37/92] ok --- .github/workflows/publish.reusable.yml | 27 ++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 87bcd2fc..0973c999 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -6,6 +6,9 @@ on: - main - supabase-community:main +env: + PRERELEASE: "true" + jobs: publish: name: Publish All the Things @@ -30,10 +33,22 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} RELEASE_TAG: "0.1.0" - PRERELEASE: "true" + PRERELEASE: ${{ env.PRERELEASE }} - # TODO: use latest/nightly tag depending on prerelease - # - name: Publish npm packages as latest - # run: for package in packages/@biomejs/*; do if [ $package != "packages/@biomejs/js-api" ]; then npm publish $package --tag latest --access public --provenance; fi; done - # env: - # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + # TODO: use latest/nightly tag depending on prerelease + - name: Publish npm packages as nightly + if: env.PRELEASE == 'true' + run: | + for package in packages/@pglt/*; do + npm publish $package --tag nightly --access public --provenance + done + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # + - name: Publish npm packages as latest + if: env.PRELEASE != 'true' + run: | + for package in packages/@pglt/*; do + npm publish $package --tag latest --access public --provenance + done + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # From ea97ad833af3f29ff3a075937347d28375551c59 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:46:54 +0100 Subject: [PATCH 38/92] ack --- .../@pglt/pglt/scripts/generate-packages.mjs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 416ccab2..2d1b89af 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -64,12 +64,14 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } -async function overwriteManifestVersions(releaseTag) { +async function overwriteManifestVersions(releaseTag, isPrerelease) { + const version = getVersion(releaseTag, isPrerelease); + const manifestClone = structuredClone(rootManifest); - manifestClone.version = releaseTag; + manifestClone.version = version; for (const key in manifestClone.optionalDependencies) { - manifestClone.optionalDependencies[key] = releaseTag; + manifestClone.optionalDependencies[key] = version; } fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); @@ -174,6 +176,10 @@ function getOs(platform) { return platform.split("-").find((_, idx) => idx === 1); } +function getVersion(releaseTag, isPrerelease) { + return releaseTag + (isPrerelease ? "-rc" : ""); +} + (async function main() { const githubToken = process.env.GITHUB_TOKEN; let releaseTag = process.env.RELEASE_TAG; @@ -181,12 +187,9 @@ function getOs(platform) { assert(releaseTag, "RELEASE_TAG not defined!"); const isPrerelease = process.env.PRERELEASE === "true"; - if (isPrerelease) { - releaseTag += "-rc"; - } await downloadSchema(releaseTag, githubToken); - overwriteManifestVersions(releaseTag); + overwriteManifestVersions(releaseTag, isPrerelease); for (const platform of SUPPORTED_PLATFORMS) { const os = getOs(platform); From 78be9bf9057429b967f90a6f198d32873621536c Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:49:46 +0100 Subject: [PATCH 39/92] another --- .github/workflows/publish.reusable.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 0973c999..a1d90e60 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -6,9 +6,6 @@ on: - main - supabase-community:main -env: - PRERELEASE: "true" - jobs: publish: name: Publish All the Things @@ -35,9 +32,8 @@ jobs: RELEASE_TAG: "0.1.0" PRERELEASE: ${{ env.PRERELEASE }} - # TODO: use latest/nightly tag depending on prerelease - name: Publish npm packages as nightly - if: env.PRELEASE == 'true' + if: false run: | for package in packages/@pglt/*; do npm publish $package --tag nightly --access public --provenance @@ -45,7 +41,7 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # - name: Publish npm packages as latest - if: env.PRELEASE != 'true' + if: true run: | for package in packages/@pglt/*; do npm publish $package --tag latest --access public --provenance From d920fc9856e76790574b3ce0a8254380c4614c7d Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:52:47 +0100 Subject: [PATCH 40/92] verify --- .github/workflows/publish.reusable.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index a1d90e60..51f885de 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -32,6 +32,13 @@ jobs: RELEASE_TAG: "0.1.0" PRERELEASE: ${{ env.PRERELEASE }} + - name: Verify NPM TOKEN exists + if: !!secrets.NPM_TOKEN + run: | + { + echo "Found NPM Token" + } + - name: Publish npm packages as nightly if: false run: | @@ -40,6 +47,7 @@ jobs: done env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # + - name: Publish npm packages as latest if: true run: | @@ -47,4 +55,4 @@ jobs: npm publish $package --tag latest --access public --provenance done env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From 099350c7aa597f902602a23a2ff480f01712fc76 Mon Sep 17 00:00:00 2001 From: Julian Date: Fri, 21 Feb 2025 18:55:57 +0100 Subject: [PATCH 41/92] ok --- .github/workflows/publish.reusable.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 51f885de..64c2d3a0 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -33,11 +33,13 @@ jobs: PRERELEASE: ${{ env.PRERELEASE }} - name: Verify NPM TOKEN exists - if: !!secrets.NPM_TOKEN run: | - { - echo "Found NPM Token" - } + if [ -z "${{ secrets.NPM_TOKEN }}" ]; then + echo "Secret is not defined" + exit 1 + else + echo "Secret is defined" + fi - name: Publish npm packages as nightly if: false From 612445c0691614471aebb1d4abd88224322a28b9 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:18:39 +0100 Subject: [PATCH 42/92] test --- .github/workflows/publish.dispatch.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 7e196900..a89bda13 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -12,6 +12,9 @@ jobs: validate_tag: runs-on: ubuntu-latest steps: + - name: Echo Input + run: echo "$INPUT_RELEASE_TAG" + - uses: actions/github-script@v7 id: validate-release with: From e4adedbce8b3653cf532f1107ce66893df3b7c8d Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:23:06 +0100 Subject: [PATCH 43/92] workaround --- .github/workflows/publish.dispatch.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index a89bda13..4486a514 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -13,13 +13,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Echo Input - run: echo "$INPUT_RELEASE_TAG" + run: echo "$(INPUT_RELEASE_TAG)" - uses: actions/github-script@v7 id: validate-release with: script: | - const tag = core.getInput('release_tag', { required: true }); + // the "core" module does not have access to workflow_dispatch inputs + const tag = '${{ inputs.release_tag }}'; let exhausted = false; let page = 1; From 2f0522ca581a6aa310de4cbd3b7f5b5ddd4617bb Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:23:22 +0100 Subject: [PATCH 44/92] no --- .github/workflows/publish.dispatch.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 4486a514..a2fd2af0 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -12,9 +12,6 @@ jobs: validate_tag: runs-on: ubuntu-latest steps: - - name: Echo Input - run: echo "$(INPUT_RELEASE_TAG)" - - uses: actions/github-script@v7 id: validate-release with: From 36b97eb40aa7fa8a94be0af807637f85f3434740 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:25:16 +0100 Subject: [PATCH 45/92] try github --- .github/workflows/publish.dispatch.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index a2fd2af0..67eaf780 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -19,10 +19,12 @@ jobs: // the "core" module does not have access to workflow_dispatch inputs const tag = '${{ inputs.release_tag }}'; + console.log(tag); + let exhausted = false; let page = 1; while (!exhausted) { - const releases = octokit.rest.repos.listReleases({ + const releases = github.rest.repos.listReleases({ owner: context.repo.owner, repo: context.repo.repo, page, From 5f740689f8810d85034929d3dd19da7c5e163a7e Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:25:40 +0100 Subject: [PATCH 46/92] camels everywhere --- .github/workflows/publish.dispatch.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 67eaf780..7db85916 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -45,11 +45,11 @@ jobs: } } - core.setOutput('hasRelease', false); - core.setOutput('isPrerelease', false); + core.setOutput('has-release', false); + core.setOutput('is-prerelease', false); - name: Abort - if: ${{ !steps.validate-release.outputs.hasRelease }} + if: ${{ !steps.validate-release.outputs.has-release }} run: | { echo "Tag ${{ github.event.inputs.release_tag }} not found." @@ -59,8 +59,8 @@ jobs: - name: Print Output run: | { - echo "Has Release: ${{ steps.validate-release.outputs.hasRelease }}" - echo "Is Prerelease: ${{ steps.validate-release.outputs.isPrerelease }}" + echo "Has Release: ${{ steps.validate-release.outputs.has-release }}" + echo "Is Prerelease: ${{ steps.validate-release.outputs.is-prerelease }}" } # publish_npm: From 92d9ae86999c6efb7b1c9ce1be19e2e0c78057ab Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:26:40 +0100 Subject: [PATCH 47/92] await that --- .github/workflows/publish.dispatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 7db85916..031ffd3c 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -24,7 +24,7 @@ jobs: let exhausted = false; let page = 1; while (!exhausted) { - const releases = github.rest.repos.listReleases({ + const releases = await github.rest.repos.listReleases({ owner: context.repo.owner, repo: context.repo.repo, page, From 1663eb6e6fd03df67a30fb85aa8cafd199ba54f8 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:26:49 +0100 Subject: [PATCH 48/92] works --- .github/workflows/publish.dispatch.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 031ffd3c..49e17b30 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -19,8 +19,6 @@ jobs: // the "core" module does not have access to workflow_dispatch inputs const tag = '${{ inputs.release_tag }}'; - console.log(tag); - let exhausted = false; let page = 1; while (!exhausted) { From 075702b6ff0b2c3d2228e48d483c6d47b73f03ea Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:28:41 +0100 Subject: [PATCH 49/92] log --- .github/workflows/publish.dispatch.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 49e17b30..dbd57b0c 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -16,9 +16,10 @@ jobs: id: validate-release with: script: | - // the "core" module does not have access to workflow_dispatch inputs + /** the "core" module does not have access to workflow_dispatch inputs */ const tag = '${{ inputs.release_tag }}'; + /** Releases don't have a guaranteed order, so we'll have to paginate */ let exhausted = false; let page = 1; while (!exhausted) { @@ -29,6 +30,8 @@ jobs: per_page: 100, }); + console.log(releases) + const matchingRelease = releases.find(r => r.tag_name === tag); if (matchingRelease) { core.setOutput('hasRelease', true); From c639376523ca523807d1a18a99148f1579cbbefb Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:30:07 +0100 Subject: [PATCH 50/92] axiosga .! --- .github/workflows/publish.dispatch.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index dbd57b0c..5375df85 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -30,9 +30,7 @@ jobs: per_page: 100, }); - console.log(releases) - - const matchingRelease = releases.find(r => r.tag_name === tag); + const matchingRelease = releases.data.find(r => r.tag_name === tag); if (matchingRelease) { core.setOutput('hasRelease', true); core.setOutput('isPrerelease', release.prerelease); From fe42a6ce52307559d17cc6145db4efb996639be7 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:32:19 +0100 Subject: [PATCH 51/92] no infinite --- .github/workflows/publish.dispatch.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 5375df85..712169ba 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -28,20 +28,21 @@ jobs: repo: context.repo.repo, page, per_page: 100, - }); + }).then(r => r.data); - const matchingRelease = releases.data.find(r => r.tag_name === tag); + const matchingRelease = releases.find(r => r.tag_name === tag); if (matchingRelease) { - core.setOutput('hasRelease', true); - core.setOutput('isPrerelease', release.prerelease); + core.setOutput('has-release', true); + core.setOutput('is-prerelease', release.prerelease); return; } - if (releases.length < 100) { + if (releases.length < 100 || page >= 100 /* sanity */) { exhausted = true; } else { page++ } + } core.setOutput('has-release', false); From 9b629ca839dd7d1d5ca11bd5c3a48e51356502e9 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:33:50 +0100 Subject: [PATCH 52/92] sanity --- .github/workflows/publish.dispatch.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 712169ba..82e20a99 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -37,8 +37,10 @@ jobs: return; } - if (releases.length < 100 || page >= 100 /* sanity */) { + if (releases.length < 100) { exhausted = true; + } else if (page >= 100) { + throw new Error("We iterated over 100 pages. Does the script work?"); } else { page++ } From 2c65368a698b95d64683350652f8a1e3d9cac8e2 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:34:16 +0100 Subject: [PATCH 53/92] ok --- .github/workflows/publish.dispatch.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 82e20a99..175fea8e 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -39,8 +39,8 @@ jobs: if (releases.length < 100) { exhausted = true; - } else if (page >= 100) { - throw new Error("We iterated over 100 pages. Does the script work?"); + } else if (page >= 10) { + throw new Error("We iterated over 10 pages. Does the script work?"); } else { page++ } From 03f40fd16d97e8b2859a9ab0295e9cd9205bbbf5 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:36:54 +0100 Subject: [PATCH 54/92] better check --- .github/workflows/publish.dispatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 175fea8e..7abf2eed 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -51,7 +51,7 @@ jobs: core.setOutput('is-prerelease', false); - name: Abort - if: ${{ !steps.validate-release.outputs.has-release }} + if: !steps.validate-release.outputs.has-release run: | { echo "Tag ${{ github.event.inputs.release_tag }} not found." From 654c94b483fdb8571f9073967998ca556d997c23 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:37:31 +0100 Subject: [PATCH 55/92] stringify --- .github/workflows/publish.dispatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 7abf2eed..c6e21d5d 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -51,7 +51,7 @@ jobs: core.setOutput('is-prerelease', false); - name: Abort - if: !steps.validate-release.outputs.has-release + if: steps.validate-release.outputs.has-release != 'true' run: | { echo "Tag ${{ github.event.inputs.release_tag }} not found." From c78a12cf9cd3d9972f69bbeafca34aa316df29bb Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:38:10 +0100 Subject: [PATCH 56/92] stringify --- .github/workflows/publish.dispatch.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index c6e21d5d..9d575ab8 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -32,8 +32,8 @@ jobs: const matchingRelease = releases.find(r => r.tag_name === tag); if (matchingRelease) { - core.setOutput('has-release', true); - core.setOutput('is-prerelease', release.prerelease); + core.setOutput('has-release', 'true'); + core.setOutput('is-prerelease', release.prerelease.toString()); return; } @@ -47,8 +47,8 @@ jobs: } - core.setOutput('has-release', false); - core.setOutput('is-prerelease', false); + core.setOutput('has-release', 'false'); + core.setOutput('is-prerelease', 'false'); - name: Abort if: steps.validate-release.outputs.has-release != 'true' From 69cc6566a04307c913cd03a3b59e2f7faaba9c04 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 09:56:50 +0100 Subject: [PATCH 57/92] change for test --- packages/@pglt/pglt/package.json | 2 +- packages/@pglt/pglt/scripts/generate-packages.mjs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 1f3a41ab..ac761154 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -6,7 +6,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/supabase/postgres_lsp.git", + "url": "git+https://github.com/juleswritescode/pglsp_publish_test", "directory": "packages/@pglt/pglt" }, "author": "Supabase Community", diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 2d1b89af..1561c67d 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -42,7 +42,8 @@ async function downloadSchema(releaseTag, githubToken) { async function downloadBinary(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); - const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; + // const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; + const assetUrl = `https://github.com/juleswritescode/pglsp_publish_test/releases/download/${releaseTag}/${buildName}`; const response = await fetch(assetUrl, { headers: { From bc9a1f4e24de4827dccd9f9d9820b7f1e3321203 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 10:34:48 +0100 Subject: [PATCH 58/92] pieced together --- .github/workflows/publish.dispatch.yml | 22 +++++++++------------- .github/workflows/publish.reusable.yml | 23 +++++++++++++---------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 9d575ab8..8380de94 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -11,6 +11,8 @@ on: jobs: validate_tag: runs-on: ubuntu-latest + outputs: + is-prerelease: ${{ steps.validate-release.outputs.is-prerelease }} steps: - uses: actions/github-script@v7 id: validate-release @@ -58,16 +60,10 @@ jobs: exit 1 } - - name: Print Output - run: | - { - echo "Has Release: ${{ steps.validate-release.outputs.has-release }}" - echo "Is Prerelease: ${{ steps.validate-release.outputs.is-prerelease }}" - } - - # publish_npm: - # needs: validate_tag - # uses: ./.github/workflows/publish.reusable.yml - # with: - # release-tag: ${{ github.event.inputs.release_tag }} - # secrets: inherit + publish_npm: + needs: validate_tag + uses: ./.github/workflows/publish.reusable.yml + with: + release-tag: ${{ github.event.inputs.release_tag }} + is-prerelease: ${{ needs.validate_tag.outputs.is-prerelease }} + secrets: inherit diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 64c2d3a0..3f86ccee 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -1,17 +1,20 @@ name: Publish to NPM & Brew on: - pull_request: - branches: - - main - - supabase-community:main + workflow_call: + inputs: + release-tag: + type: string + required: true + is-prerelease: + type: string + required: true + default: "false" jobs: publish: name: Publish All the Things runs-on: ubuntu-latest - - # todo: add secrets permissions: contents: write # ? what's this?! required for executing the node script? @@ -29,8 +32,8 @@ jobs: run: node packages/@pglt/pglt/scripts/generate-packages.mjs env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - RELEASE_TAG: "0.1.0" - PRERELEASE: ${{ env.PRERELEASE }} + RELEASE_TAG: ${{ inputs.release-tag }} + PRERELEASE: ${{ inputs.is-prerelease }} - name: Verify NPM TOKEN exists run: | @@ -42,7 +45,7 @@ jobs: fi - name: Publish npm packages as nightly - if: false + if: inputs.is-prerelease == 'true' run: | for package in packages/@pglt/*; do npm publish $package --tag nightly --access public --provenance @@ -51,7 +54,7 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # - name: Publish npm packages as latest - if: true + if: inputs.is-prerelease != true run: | for package in packages/@pglt/*; do npm publish $package --tag latest --access public --provenance From 00704b4109feb15e346332a4829e99e18f969b97 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 10:37:37 +0100 Subject: [PATCH 59/92] permissions --- .github/workflows/publish.dispatch.yml | 9 ++++++--- .github/workflows/publish.trigger.yml | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index 8380de94..d529a756 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -3,7 +3,7 @@ name: Publish NPM (Manual) on: workflow_dispatch: inputs: - release_tag: + release-tag: type: string required: true description: Release Tag to Publish @@ -19,7 +19,7 @@ jobs: with: script: | /** the "core" module does not have access to workflow_dispatch inputs */ - const tag = '${{ inputs.release_tag }}'; + const tag = '${{ inputs.release-tag }}'; /** Releases don't have a guaranteed order, so we'll have to paginate */ let exhausted = false; @@ -63,7 +63,10 @@ jobs: publish_npm: needs: validate_tag uses: ./.github/workflows/publish.reusable.yml + permissions: + contents: write + id-token: write with: - release-tag: ${{ github.event.inputs.release_tag }} + release-tag: ${{ github.event.inputs.release-tag }} is-prerelease: ${{ needs.validate_tag.outputs.is-prerelease }} secrets: inherit diff --git a/.github/workflows/publish.trigger.yml b/.github/workflows/publish.trigger.yml index 9f162e7b..b2a102a5 100644 --- a/.github/workflows/publish.trigger.yml +++ b/.github/workflows/publish.trigger.yml @@ -7,6 +7,9 @@ on: jobs: publish_npm: uses: ./.github/workflows/publish.reusable.yml + permissions: + contents: write + id-token: write with: release-tag: ${{ github.event.release.tag_name }} is-prerelease: ${{ github.event.release.prerelease }} From 9f1be0df3302168d53a12bb589a8d5a52bb33062 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 10:38:40 +0100 Subject: [PATCH 60/92] fix --- .github/workflows/publish.dispatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.dispatch.yml b/.github/workflows/publish.dispatch.yml index d529a756..c48b585c 100644 --- a/.github/workflows/publish.dispatch.yml +++ b/.github/workflows/publish.dispatch.yml @@ -35,7 +35,7 @@ jobs: const matchingRelease = releases.find(r => r.tag_name === tag); if (matchingRelease) { core.setOutput('has-release', 'true'); - core.setOutput('is-prerelease', release.prerelease.toString()); + core.setOutput('is-prerelease', matchingRelease.prerelease.toString()); return; } From 328a2b4b974dd9d1dd60a7c20ba48bf025c2d699 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 10:44:14 +0100 Subject: [PATCH 61/92] update msg --- packages/@pglt/pglt/scripts/generate-packages.mjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 1561c67d..78eea503 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -44,6 +44,8 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { // const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; const assetUrl = `https://github.com/juleswritescode/pglsp_publish_test/releases/download/${releaseTag}/${buildName}`; + // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc + // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc const response = await fetch(assetUrl, { headers: { @@ -54,7 +56,9 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { if (!response.ok) { const error = await response.text(); - throw new Error(`Failed to Fetch Asset from ${assetUrl}. Reason: ${error}`); + throw new Error( + `Failed to Fetch Asset from ${assetUrl} (Reason: ${error})` + ); } // just download to root. From bd8999f8b80015a5be34d7db6bd5b931c2530548 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 10:46:37 +0100 Subject: [PATCH 62/92] trim? --- packages/@pglt/pglt/scripts/generate-packages.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 78eea503..a903362f 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -20,7 +20,7 @@ const SUPPORTED_ARCHITECTURES = ["x86_64", "aarch64"]; async function downloadSchema(releaseTag, githubToken) { const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/schema.json`; - const response = await fetch(assetUrl, { + const response = await fetch(assetUrl.trim(), { headers: { Authorization: `token ${githubToken}`, Accept: `application/octet-stream`, @@ -47,7 +47,7 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc - const response = await fetch(assetUrl, { + const response = await fetch(assetUrl.trim(), { headers: { Authorization: `token ${githubToken}`, Accept: `application/octet-stream`, From c989536af778c85c2fc6a3be850db8451de423a2 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:18:38 +0100 Subject: [PATCH 63/92] log package --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index a903362f..f70bbf1e 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -79,6 +79,8 @@ async function overwriteManifestVersions(releaseTag, isPrerelease) { manifestClone.optionalDependencies[key] = version; } + console.log(manifestClone); + fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); } From 8d1457a8351e5d897a3b025093bca0ea3b5deb81 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:21:19 +0100 Subject: [PATCH 64/92] path wrong? --- packages/@pglt/pglt/scripts/generate-packages.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index f70bbf1e..22f0082f 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -79,6 +79,7 @@ async function overwriteManifestVersions(releaseTag, isPrerelease) { manifestClone.optionalDependencies[key] = version; } + console.log(MANIFEST_PATH); console.log(manifestClone); fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); From 8f1394e04700af8b0350c6dc94cf79b6c91814e1 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:21:57 +0100 Subject: [PATCH 65/92] classic --- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 22f0082f..7819da35 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -69,7 +69,7 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } -async function overwriteManifestVersions(releaseTag, isPrerelease) { +function overwriteManifestVersions(releaseTag, isPrerelease) { const version = getVersion(releaseTag, isPrerelease); const manifestClone = structuredClone(rootManifest); From 8c0d4808bac224b0635e27bcc6a18aecf73d661f Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:44:09 +0100 Subject: [PATCH 66/92] test name --- packages/@pglt/pglt/package.json | 2 +- packages/@pglt/pglt/scripts/generate-packages.mjs | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index ac761154..7da42725 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt", + "name": "pglt_test", "version": "", "bin": { "pglt": "bin/pglt" diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 7819da35..165548f7 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -79,9 +79,6 @@ function overwriteManifestVersions(releaseTag, isPrerelease) { manifestClone.optionalDependencies[key] = version; } - console.log(MANIFEST_PATH); - console.log(manifestClone); - fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); } @@ -90,8 +87,6 @@ function copyBinaryToNativePackage(platform, arch, os) { const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); const packageName = getPackageName(platform, arch); - // "unknow-linux-gnu", "apple-darwin" – take linux, apple, windows - // Update the package.json manifest const { version, license, repository, engines } = rootManifest; From d5e93aaefeb660fa1b273b568018c7a295f99c75 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:50:24 +0100 Subject: [PATCH 67/92] huh --- packages/@pglt/pglt/package.json | 2 +- packages/@pglt/pglt/scripts/generate-packages.mjs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 7da42725..38b111b9 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -6,7 +6,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/juleswritescode/pglsp_publish_test", + "url": "git+https://github.com/juleswritescode/pglsp_publish_test.git", "directory": "packages/@pglt/pglt" }, "author": "Supabase Community", diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 165548f7..aea24e36 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -69,7 +69,7 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { console.log(`Downloaded asset for ${buildName} (v${releaseTag})`); } -function overwriteManifestVersions(releaseTag, isPrerelease) { +async function overwriteManifestVersions(releaseTag, isPrerelease) { const version = getVersion(releaseTag, isPrerelease); const manifestClone = structuredClone(rootManifest); @@ -79,7 +79,14 @@ function overwriteManifestVersions(releaseTag, isPrerelease) { manifestClone.optionalDependencies[key] = version; } - fs.writeFileSync(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2)); + /** + * writeFileSync seemed to not work reliably? + */ + await new Promise((res, rej) => { + fs.writeFile(MANIFEST_PATH, JSON.stringify(manifestClone, null, 2), (e) => + e ? rej(e) : res() + ); + }); } function copyBinaryToNativePackage(platform, arch, os) { @@ -192,7 +199,7 @@ function getVersion(releaseTag, isPrerelease) { const isPrerelease = process.env.PRERELEASE === "true"; await downloadSchema(releaseTag, githubToken); - overwriteManifestVersions(releaseTag, isPrerelease); + await overwriteManifestVersions(releaseTag, isPrerelease); for (const platform of SUPPORTED_PLATFORMS) { const os = getOs(platform); From d6a2039b9d99a6274180203d643b179e6730d3d3 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:51:07 +0100 Subject: [PATCH 68/92] name --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 38b111b9..c6bcba02 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test", + "name": "pglt_test_2", "version": "", "bin": { "pglt": "bin/pglt" From a4658694c6a1c4fe7b77919d2ec8b20b8fce67f7 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:52:59 +0100 Subject: [PATCH 69/92] print package.json --- .github/workflows/publish.reusable.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 3f86ccee..437afcdb 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -44,6 +44,10 @@ jobs: echo "Secret is defined" fi + - name: Print package.json + run: | + cat packages/@pglt/pglt/package.json + - name: Publish npm packages as nightly if: inputs.is-prerelease == 'true' run: | From 81004ccde1513524e07a5d445eda93a394900bf6 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:54:58 +0100 Subject: [PATCH 70/92] test 3 --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index c6bcba02..06f06959 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test_2", + "name": "pglt_test_3", "version": "", "bin": { "pglt": "bin/pglt" From 7b3a0d6e0cc5267d8c75265d4ce45e6e60652d3e Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 14:58:11 +0100 Subject: [PATCH 71/92] ah yes... --- .github/workflows/publish.reusable.yml | 1 + packages/@pglt/pglt/package.json | 2 +- packages/@pglt/pglt/scripts/generate-packages.mjs | 9 ++++----- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index 437afcdb..cbedb6d3 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -29,6 +29,7 @@ jobs: registry-url: "https://registry.npmjs.org" - name: Generate Packages + id: generate-packages run: node packages/@pglt/pglt/scripts/generate-packages.mjs env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 06f06959..47119c24 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test_3", + "name": "pglt_test_4", "version": "", "bin": { "pglt": "bin/pglt" diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index aea24e36..d3881eb9 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -72,7 +72,7 @@ async function downloadBinary(platform, arch, os, releaseTag, githubToken) { async function overwriteManifestVersions(releaseTag, isPrerelease) { const version = getVersion(releaseTag, isPrerelease); - const manifestClone = structuredClone(rootManifest); + const manifestClone = structuredClone(rootManifest()); manifestClone.version = version; for (const key in manifestClone.optionalDependencies) { @@ -95,7 +95,7 @@ function copyBinaryToNativePackage(platform, arch, os) { const packageName = getPackageName(platform, arch); // Update the package.json manifest - const { version, license, repository, engines } = rootManifest; + const { version, license, repository, engines } = rootManifest(); const manifest = JSON.stringify( { @@ -159,9 +159,8 @@ function copySchemaToNativePackage(platform, arch) { fs.chmodSync(schemaTarget, 0o666); } -const rootManifest = JSON.parse( - fs.readFileSync(MANIFEST_PATH).toString("utf-8") -); +const rootManifest = () => + JSON.parse(fs.readFileSync(MANIFEST_PATH).toString("utf-8")); function getBinaryExt(os) { return os === "windows" ? ".exe" : ""; From c3462b7bf225c2d8386c0af2253d96eddbbdb637 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:04:52 +0100 Subject: [PATCH 72/92] no scope --- packages/@pglt/pglt/package.json | 12 ++++++------ packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 47119c24..856779c1 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -30,11 +30,11 @@ "node": ">=20" }, "optionalDependencies": { - "@pglt/testrelease-cli-aarch64-apple-darwin": "", - "@pglt/testrelease-cli-aarch64-windows-msvc": "", - "@pglt/testrelease-cli-aarch64-linux-gnu": "", - "@pglt/testrelease-cli-x86_64-apple-darwin": "", - "@pglt/testrelease-cli-x86_64-windows-msvc": "", - "@pglt/testrelease-cli-x86_64-linux-gnu": "" + "pglt-testrelease-cli-aarch64-apple-darwin": "", + "pglt-testrelease-cli-aarch64-windows-msvc": "", + "pglt-testrelease-cli-aarch64-linux-gnu": "", + "pglt-testrelease-cli-x86_64-apple-darwin": "", + "pglt-testrelease-cli-x86_64-windows-msvc": "", + "pglt-testrelease-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index d3881eb9..3ba9414f 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -178,7 +178,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `@pglt/testrelease-cli-${arch}-${name}`; + return `pglt-testrelease-cli-${arch}-${name}`; } function getOs(platform) { From b4d410d9cec106bfeb3917921eae14c4a788aa39 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:05:04 +0100 Subject: [PATCH 73/92] test5 --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 856779c1..626f1865 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test_4", + "name": "pglt_test_5", "version": "", "bin": { "pglt": "bin/pglt" From 32b7ead9eeb86a916f37ef485a198f8f6c5ea2b4 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:09:30 +0100 Subject: [PATCH 74/92] adjust that --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 0dd9f286..e513edab 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "@pglt/testrelease-cli-x86_64-windows-msvc/pglt.exe", - arm64: "@pglt/testrelease-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "@pglt/testrelease-cli-x86_64-apple-darwin/pglt", - arm64: "@pglt/testrelease-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "@pglt/testrelease-cli-x86_64-linux-gnu/pglt", - arm64: "@pglt/testrelease-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-cli-aarch64-linux-gnu/pglt", }, }; From 8cb16d39af63c4163e314fa5d849c0c59353a1a3 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:09:56 +0100 Subject: [PATCH 75/92] test 6 --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 626f1865..f7b89a15 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test_5", + "name": "pglt_test_6", "version": "", "bin": { "pglt": "bin/pglt" From db9c84305b3de04756ae2948347fc14f09ce0f60 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:11:04 +0100 Subject: [PATCH 76/92] test 6 --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 12 ++++++------ packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index e513edab..1186a1e2 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-6-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-6-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-6-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-6-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-6-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-6-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index f7b89a15..6a35f2a9 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -30,11 +30,11 @@ "node": ">=20" }, "optionalDependencies": { - "pglt-testrelease-cli-aarch64-apple-darwin": "", - "pglt-testrelease-cli-aarch64-windows-msvc": "", - "pglt-testrelease-cli-aarch64-linux-gnu": "", - "pglt-testrelease-cli-x86_64-apple-darwin": "", - "pglt-testrelease-cli-x86_64-windows-msvc": "", - "pglt-testrelease-cli-x86_64-linux-gnu": "" + "pglt-testrelease-6-cli-aarch64-apple-darwin": "", + "pglt-testrelease-6-cli-aarch64-windows-msvc": "", + "pglt-testrelease-6-cli-aarch64-linux-gnu": "", + "pglt-testrelease-6-cli-x86_64-apple-darwin": "", + "pglt-testrelease-6-cli-x86_64-windows-msvc": "", + "pglt-testrelease-6-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 3ba9414f..c6b5339f 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -178,7 +178,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-cli-${arch}-${name}`; + return `pglt-testrelease-6-cli-${arch}-${name}`; } function getOs(platform) { From 091c0a994a0f4dca25966b46e111b8545b2e7934 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:28:37 +0100 Subject: [PATCH 77/92] add bin --- packages/@pglt/pglt/scripts/generate-packages.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index c6b5339f..3fd6e744 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -102,6 +102,9 @@ function copyBinaryToNativePackage(platform, arch, os) { name: packageName, version, license, + bin: { + pglt: "pglt", + }, repository, engines, os: [os], From 186b347cc4ebc32d5d8568e3af6ea5948977fc3e Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:29:16 +0100 Subject: [PATCH 78/92] test 7 --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 1186a1e2..c8695e56 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-6-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-6-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-7-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-7-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-6-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-6-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-7-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-7-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-6-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-6-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-7-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-7-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 6a35f2a9..5fbb55d0 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_test_6", + "name": "pglt_testrelease_6", "version": "", "bin": { "pglt": "bin/pglt" @@ -30,11 +30,11 @@ "node": ">=20" }, "optionalDependencies": { - "pglt-testrelease-6-cli-aarch64-apple-darwin": "", - "pglt-testrelease-6-cli-aarch64-windows-msvc": "", - "pglt-testrelease-6-cli-aarch64-linux-gnu": "", - "pglt-testrelease-6-cli-x86_64-apple-darwin": "", - "pglt-testrelease-6-cli-x86_64-windows-msvc": "", - "pglt-testrelease-6-cli-x86_64-linux-gnu": "" + "pglt-testrelease-7-cli-aarch64-apple-darwin": "", + "pglt-testrelease-7-cli-aarch64-windows-msvc": "", + "pglt-testrelease-7-cli-aarch64-linux-gnu": "", + "pglt-testrelease-7-cli-x86_64-apple-darwin": "", + "pglt-testrelease-7-cli-x86_64-windows-msvc": "", + "pglt-testrelease-7-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 3fd6e744..0393e77d 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -181,7 +181,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-6-cli-${arch}-${name}`; + return `pglt-testrelease-7-cli-${arch}-${name}`; } function getOs(platform) { From c54ff06da6926907bdd59d7d370c7ff1ace387c3 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:37:09 +0100 Subject: [PATCH 79/92] remove placeholders --- packages/@pglt/pglt/scripts/generate-packages.mjs | 12 +++++++++++- .../@pglt/pglt_aarch64-apple-darwin/package.json | 1 - .../@pglt/pglt_aarch64-pc-windows-msvc/package.json | 1 - .../pglt_aarch64-unknown-linux-gnu/package.json | 1 - packages/@pglt/pglt_x86_64-apple-darwin/package.json | 1 - .../@pglt/pglt_x86_64-pc-windows-msvc/package.json | 1 - .../@pglt/pglt_x86_64-unknown-linux-gnu/package.json | 1 - 7 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 packages/@pglt/pglt_aarch64-apple-darwin/package.json delete mode 100644 packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json delete mode 100644 packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json delete mode 100644 packages/@pglt/pglt_x86_64-apple-darwin/package.json delete mode 100644 packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json delete mode 100644 packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 0393e77d..2d9651fb 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -89,12 +89,21 @@ async function overwriteManifestVersions(releaseTag, isPrerelease) { }); } +async function makePackageDir(platform, arch) { + const buildName = getBuildName(platform, arch); + const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); + + await new Promise((res, rej) => { + fs.mkdir(packageRoot, {}, (e) => (e ? rej(e) : res())); + }); +} + function copyBinaryToNativePackage(platform, arch, os) { + // Update the package.json manifest const buildName = getBuildName(platform, arch); const packageRoot = resolve(PACKAGES_PGLT_ROOT, buildName); const packageName = getPackageName(platform, arch); - // Update the package.json manifest const { version, license, repository, engines } = rootManifest(); const manifest = JSON.stringify( @@ -207,6 +216,7 @@ function getVersion(releaseTag, isPrerelease) { const os = getOs(platform); for (const arch of SUPPORTED_ARCHITECTURES) { + await makePackageDir(platform, arch); await downloadBinary(platform, arch, os, releaseTag, githubToken); copyBinaryToNativePackage(platform, arch, os); copySchemaToNativePackage(platform, arch); diff --git a/packages/@pglt/pglt_aarch64-apple-darwin/package.json b/packages/@pglt/pglt_aarch64-apple-darwin/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_aarch64-apple-darwin/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json b/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_aarch64-pc-windows-msvc/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json b/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_aarch64-unknown-linux-gnu/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/@pglt/pglt_x86_64-apple-darwin/package.json b/packages/@pglt/pglt_x86_64-apple-darwin/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_x86_64-apple-darwin/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json b/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_x86_64-pc-windows-msvc/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json b/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/packages/@pglt/pglt_x86_64-unknown-linux-gnu/package.json +++ /dev/null @@ -1 +0,0 @@ -{} From 90f9603ff936ccc4eff10dd819ea0c3a6d6b210a Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:38:19 +0100 Subject: [PATCH 80/92] publishconfig --- packages/@pglt/pglt/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 5fbb55d0..c14913af 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -29,6 +29,9 @@ "engines": { "node": ">=20" }, + "publishConfig": { + "provenance": true + }, "optionalDependencies": { "pglt-testrelease-7-cli-aarch64-apple-darwin": "", "pglt-testrelease-7-cli-aarch64-windows-msvc": "", From cbeb91f9345d288a7a522a32cc3263560a75de5a Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:39:05 +0100 Subject: [PATCH 81/92] hm --- packages/@pglt/pglt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index c14913af..b85cb3f1 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease_6", + "name": "pglt_testrelease-7", "version": "", "bin": { "pglt": "bin/pglt" From 1e9a314f6a2bbaaf2eee88bf48e308159f96a9a4 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:39:29 +0100 Subject: [PATCH 82/92] release 8 --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index c8695e56..99ac2ec0 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-7-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-7-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-8-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-8-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-7-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-7-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-8-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-8-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-7-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-7-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-8-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-8-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index b85cb3f1..132ef468 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease-7", + "name": "pglt_testrelease-8", "version": "", "bin": { "pglt": "bin/pglt" @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-7-cli-aarch64-apple-darwin": "", - "pglt-testrelease-7-cli-aarch64-windows-msvc": "", - "pglt-testrelease-7-cli-aarch64-linux-gnu": "", - "pglt-testrelease-7-cli-x86_64-apple-darwin": "", - "pglt-testrelease-7-cli-x86_64-windows-msvc": "", - "pglt-testrelease-7-cli-x86_64-linux-gnu": "" + "pglt-testrelease-8-cli-aarch64-apple-darwin": "", + "pglt-testrelease-8-cli-aarch64-windows-msvc": "", + "pglt-testrelease-8-cli-aarch64-linux-gnu": "", + "pglt-testrelease-8-cli-x86_64-apple-darwin": "", + "pglt-testrelease-8-cli-x86_64-windows-msvc": "", + "pglt-testrelease-8-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 2d9651fb..af8db5ca 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -190,7 +190,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-7-cli-${arch}-${name}`; + return `pglt-testrelease-8-cli-${arch}-${name}`; } function getOs(platform) { From fe4e009d23583dfc9e96d892260960a3d1bc1ac7 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:42:15 +0100 Subject: [PATCH 83/92] binary file --- packages/@pglt/pglt/scripts/generate-packages.mjs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index af8db5ca..ff5449e5 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -106,13 +106,15 @@ function copyBinaryToNativePackage(platform, arch, os) { const { version, license, repository, engines } = rootManifest(); + const ext = getBinaryExt(os); + const manifest = JSON.stringify( { name: packageName, version, license, bin: { - pglt: "pglt", + pglt: "./pglt" + ext, }, repository, engines, @@ -139,7 +141,6 @@ function copyBinaryToNativePackage(platform, arch, os) { // Copy the CLI binary const binarySource = getBinarySource(platform, arch, os); - const ext = getBinaryExt(os); const binaryTarget = resolve(packageRoot, `pglt${ext}`); if (!fs.existsSync(binarySource)) { From 119705bdc84befbff0734f54799c96fec181607b Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:44:33 +0100 Subject: [PATCH 84/92] hm --- packages/@pglt/pglt/scripts/generate-packages.mjs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index ff5449e5..1455f6da 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -106,16 +106,11 @@ function copyBinaryToNativePackage(platform, arch, os) { const { version, license, repository, engines } = rootManifest(); - const ext = getBinaryExt(os); - const manifest = JSON.stringify( { name: packageName, version, license, - bin: { - pglt: "./pglt" + ext, - }, repository, engines, os: [os], @@ -135,6 +130,7 @@ function copyBinaryToNativePackage(platform, arch, os) { 2 ); + const ext = getBinaryExt(os); const manifestPath = resolve(packageRoot, "package.json"); console.info(`Update manifest ${manifestPath}`); fs.writeFileSync(manifestPath, manifest); From 5c713095beeb7c747f4d0dc2728598e991d9b3c6 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 15:44:47 +0100 Subject: [PATCH 85/92] release 9 --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 99ac2ec0..b4ac22c9 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-8-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-8-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-9-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-9-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-8-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-8-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-9-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-9-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-8-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-8-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-9-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-9-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 132ef468..46184f67 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease-8", + "name": "pglt_testrelease-9", "version": "", "bin": { "pglt": "bin/pglt" @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-8-cli-aarch64-apple-darwin": "", - "pglt-testrelease-8-cli-aarch64-windows-msvc": "", - "pglt-testrelease-8-cli-aarch64-linux-gnu": "", - "pglt-testrelease-8-cli-x86_64-apple-darwin": "", - "pglt-testrelease-8-cli-x86_64-windows-msvc": "", - "pglt-testrelease-8-cli-x86_64-linux-gnu": "" + "pglt-testrelease-9-cli-aarch64-apple-darwin": "", + "pglt-testrelease-9-cli-aarch64-windows-msvc": "", + "pglt-testrelease-9-cli-aarch64-linux-gnu": "", + "pglt-testrelease-9-cli-x86_64-apple-darwin": "", + "pglt-testrelease-9-cli-x86_64-windows-msvc": "", + "pglt-testrelease-9-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 1455f6da..8af2160f 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -187,7 +187,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-8-cli-${arch}-${name}`; + return `pglt-testrelease-9-cli-${arch}-${name}`; } function getOs(platform) { From 4d5857e6454437bc8862f2bc91b8081725add3c5 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 16:08:42 +0100 Subject: [PATCH 86/92] nightly test --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index b4ac22c9..866f1e90 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-9-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-9-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-nightly-1-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-nightly-1-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-9-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-9-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-nightly-1-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-nightly-1-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-9-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-9-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-nightly-1-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-nightly-1-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 46184f67..5b2f9ef1 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease-9", + "name": "pglt_testrelease-nightly-1", "version": "", "bin": { "pglt": "bin/pglt" @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-9-cli-aarch64-apple-darwin": "", - "pglt-testrelease-9-cli-aarch64-windows-msvc": "", - "pglt-testrelease-9-cli-aarch64-linux-gnu": "", - "pglt-testrelease-9-cli-x86_64-apple-darwin": "", - "pglt-testrelease-9-cli-x86_64-windows-msvc": "", - "pglt-testrelease-9-cli-x86_64-linux-gnu": "" + "pglt-testrelease-nightly-1-cli-aarch64-apple-darwin": "", + "pglt-testrelease-nightly-1-cli-aarch64-windows-msvc": "", + "pglt-testrelease-nightly-1-cli-aarch64-linux-gnu": "", + "pglt-testrelease-nightly-1-cli-x86_64-apple-darwin": "", + "pglt-testrelease-nightly-1-cli-x86_64-windows-msvc": "", + "pglt-testrelease-nightly-1-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 8af2160f..d56f8a53 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -187,7 +187,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-9-cli-${arch}-${name}`; + return `pglt-testrelease-nightly-1-cli-${arch}-${name}`; } function getOs(platform) { From deee03ccddc753fcea88f280e31fa8f65c4e4ea2 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 16:12:32 +0100 Subject: [PATCH 87/92] string --- .github/workflows/publish.reusable.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.reusable.yml b/.github/workflows/publish.reusable.yml index cbedb6d3..fb0ff8fa 100644 --- a/.github/workflows/publish.reusable.yml +++ b/.github/workflows/publish.reusable.yml @@ -59,7 +59,7 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # - name: Publish npm packages as latest - if: inputs.is-prerelease != true + if: inputs.is-prerelease != 'true' run: | for package in packages/@pglt/*; do npm publish $package --tag latest --access public --provenance From a587b31382f3b0adc43f658de7fc0c5dc036503d Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 16:13:22 +0100 Subject: [PATCH 88/92] nightly2 test --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 866f1e90..b0d4cfb2 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-nightly-1-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-nightly-1-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-nightly-2-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-nightly-2-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-nightly-1-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-nightly-1-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-nightly-2-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-nightly-2-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-nightly-1-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-nightly-1-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-nightly-2-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-nightly-2-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 5b2f9ef1..51cf04ac 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease-nightly-1", + "name": "pglt_testrelease-nightly-2", "version": "", "bin": { "pglt": "bin/pglt" @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-nightly-1-cli-aarch64-apple-darwin": "", - "pglt-testrelease-nightly-1-cli-aarch64-windows-msvc": "", - "pglt-testrelease-nightly-1-cli-aarch64-linux-gnu": "", - "pglt-testrelease-nightly-1-cli-x86_64-apple-darwin": "", - "pglt-testrelease-nightly-1-cli-x86_64-windows-msvc": "", - "pglt-testrelease-nightly-1-cli-x86_64-linux-gnu": "" + "pglt-testrelease-nightly-2-cli-aarch64-apple-darwin": "", + "pglt-testrelease-nightly-2-cli-aarch64-windows-msvc": "", + "pglt-testrelease-nightly-2-cli-aarch64-linux-gnu": "", + "pglt-testrelease-nightly-2-cli-x86_64-apple-darwin": "", + "pglt-testrelease-nightly-2-cli-x86_64-windows-msvc": "", + "pglt-testrelease-nightly-2-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index d56f8a53..ff239629 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -187,7 +187,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-nightly-1-cli-${arch}-${name}`; + return `pglt-testrelease-nightly-2-cli-${arch}-${name}`; } function getOs(platform) { From e630ea6516db0a04971508610de21b8ff53269d5 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 16:43:46 +0100 Subject: [PATCH 89/92] sweet lord! --- .../@pglt/pglt/scripts/generate-packages.mjs | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index ff239629..3bfc9a06 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -106,6 +106,35 @@ function copyBinaryToNativePackage(platform, arch, os) { const { version, license, repository, engines } = rootManifest(); + /** + * We need to map rust triplets to NPM-known values. + * Otherwise, npm will abort the package installation. + */ + const npm_arch = arch === "aarch64" ? "arm64" : "x64"; + let libc = undefined; + let npm_os = undefined; + + switch (os) { + case "linux": { + libc = "gnu"; + npm_os = "linux"; + break; + } + case "windows": { + libc = "msvc"; + npm_os = "win32"; + break; + } + case "darwin": { + libc = undefined; + npm_os = "darwin"; + break; + } + default: { + throw new Error(`Unsupported os: ${os}`); + } + } + const manifest = JSON.stringify( { name: packageName, @@ -113,18 +142,9 @@ function copyBinaryToNativePackage(platform, arch, os) { license, repository, engines, - os: [os], - cpu: [arch], - libc: (() => { - switch (os) { - case "linux": - return "gnu"; - case "windows": - return "msvc"; - default: - return undefined; - } - })(), + os: [npm_os], + cpu: [npm_arch], + libc, }, null, 2 From 93377b1d25a4d81339801adef306deac5aca8e03 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 22 Feb 2025 16:44:03 +0100 Subject: [PATCH 90/92] ok --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 14 +++++++------- packages/@pglt/pglt/scripts/generate-packages.mjs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index b0d4cfb2..19c82639 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-nightly-2-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-nightly-2-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-testrelease-nightly-3-cli-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-testrelease-nightly-3-cli-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-nightly-2-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-nightly-2-cli-aarch64-apple-darwin/pglt", + x64: "pglt-testrelease-nightly-3-cli-x86_64-apple-darwin/pglt", + arm64: "pglt-testrelease-nightly-3-cli-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-nightly-2-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-nightly-2-cli-aarch64-linux-gnu/pglt", + x64: "pglt-testrelease-nightly-3-cli-x86_64-linux-gnu/pglt", + arm64: "pglt-testrelease-nightly-3-cli-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 51cf04ac..d5c9fb90 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,5 +1,5 @@ { - "name": "pglt_testrelease-nightly-2", + "name": "pglt_testrelease-nightly-3", "version": "", "bin": { "pglt": "bin/pglt" @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-nightly-2-cli-aarch64-apple-darwin": "", - "pglt-testrelease-nightly-2-cli-aarch64-windows-msvc": "", - "pglt-testrelease-nightly-2-cli-aarch64-linux-gnu": "", - "pglt-testrelease-nightly-2-cli-x86_64-apple-darwin": "", - "pglt-testrelease-nightly-2-cli-x86_64-windows-msvc": "", - "pglt-testrelease-nightly-2-cli-x86_64-linux-gnu": "" + "pglt-testrelease-nightly-3-cli-aarch64-apple-darwin": "", + "pglt-testrelease-nightly-3-cli-aarch64-windows-msvc": "", + "pglt-testrelease-nightly-3-cli-aarch64-linux-gnu": "", + "pglt-testrelease-nightly-3-cli-x86_64-apple-darwin": "", + "pglt-testrelease-nightly-3-cli-x86_64-windows-msvc": "", + "pglt-testrelease-nightly-3-cli-x86_64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 3bfc9a06..443fe713 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -207,7 +207,7 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-nightly-2-cli-${arch}-${name}`; + return `pglt-testrelease-nightly-3-cli-${arch}-${name}`; } function getOs(platform) { From 5301e606c38955be202d4b39d365e05262a4b59c Mon Sep 17 00:00:00 2001 From: Julian Date: Mon, 24 Feb 2025 17:58:25 +0100 Subject: [PATCH 91/92] name change --- packages/@pglt/pglt/bin/pglt | 12 ++++++------ packages/@pglt/pglt/package.json | 16 ++++++++-------- .../@pglt/pglt/scripts/generate-packages.mjs | 13 +++++-------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/packages/@pglt/pglt/bin/pglt b/packages/@pglt/pglt/bin/pglt index 19c82639..4f010161 100644 --- a/packages/@pglt/pglt/bin/pglt +++ b/packages/@pglt/pglt/bin/pglt @@ -7,16 +7,16 @@ const { platform, arch, env } = process; */ const PLATFORMS = { win32: { - x64: "pglt-testrelease-nightly-3-cli-x86_64-windows-msvc/pglt.exe", - arm64: "pglt-testrelease-nightly-3-cli-aarch64-windows-msvc/pglt.exe", + x64: "pglt-x86_64-windows-msvc/pglt.exe", + arm64: "pglt-aarch64-windows-msvc/pglt.exe", }, darwin: { - x64: "pglt-testrelease-nightly-3-cli-x86_64-apple-darwin/pglt", - arm64: "pglt-testrelease-nightly-3-cli-aarch64-apple-darwin/pglt", + x64: "pglt-x86_64-apple-darwin/pglt", + arm64: "pglt-aarch64-apple-darwin/pglt", }, linux: { - x64: "pglt-testrelease-nightly-3-cli-x86_64-linux-gnu/pglt", - arm64: "pglt-testrelease-nightly-3-cli-aarch64-linux-gnu/pglt", + x64: "pglt-x86_64-linux-gnu/pglt", + arm64: "pglt-aarch64-linux-gnu/pglt", }, }; diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index d5c9fb90..8fad2431 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -1,12 +1,12 @@ { - "name": "pglt_testrelease-nightly-3", + "name": "pglt", "version": "", "bin": { "pglt": "bin/pglt" }, "repository": { "type": "git", - "url": "git+https://github.com/juleswritescode/pglsp_publish_test.git", + "url": "git+https://github.com/supabase-community/postgres_lsp.git", "directory": "packages/@pglt/pglt" }, "author": "Supabase Community", @@ -33,11 +33,11 @@ "provenance": true }, "optionalDependencies": { - "pglt-testrelease-nightly-3-cli-aarch64-apple-darwin": "", - "pglt-testrelease-nightly-3-cli-aarch64-windows-msvc": "", - "pglt-testrelease-nightly-3-cli-aarch64-linux-gnu": "", - "pglt-testrelease-nightly-3-cli-x86_64-apple-darwin": "", - "pglt-testrelease-nightly-3-cli-x86_64-windows-msvc": "", - "pglt-testrelease-nightly-3-cli-x86_64-linux-gnu": "" + "pglt-x86_64-windows-msvc.exe": "", + "pglt-aarch64-windows-msvc.exe": "", + "pglt-x86_64-apple-darwin": "", + "pglt-aarch64-apple-darwin": "", + "pglt-x86_64-linux-gnu": "", + "pglt-aarch64-linux-gnu": "" } } diff --git a/packages/@pglt/pglt/scripts/generate-packages.mjs b/packages/@pglt/pglt/scripts/generate-packages.mjs index 443fe713..2a1fd2f4 100644 --- a/packages/@pglt/pglt/scripts/generate-packages.mjs +++ b/packages/@pglt/pglt/scripts/generate-packages.mjs @@ -42,10 +42,7 @@ async function downloadSchema(releaseTag, githubToken) { async function downloadBinary(platform, arch, os, releaseTag, githubToken) { const buildName = getBuildName(platform, arch); - // const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; - const assetUrl = `https://github.com/juleswritescode/pglsp_publish_test/releases/download/${releaseTag}/${buildName}`; - // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc - // https://github.com/juleswritescode/pglsp_publish_test/releases/download/0.1.0/pglt_x86_64-pc-windows-msvc + const assetUrl = `https://github.com/supabase-community/postgres_lsp/releases/download/${releaseTag}/${buildName}`; const response = await fetch(assetUrl.trim(), { headers: { @@ -75,8 +72,8 @@ async function overwriteManifestVersions(releaseTag, isPrerelease) { const manifestClone = structuredClone(rootManifest()); manifestClone.version = version; - for (const key in manifestClone.optionalDependencies) { - manifestClone.optionalDependencies[key] = version; + for (const dep in manifestClone.optionalDependencies) { + manifestClone.optionalDependencies[dep] = version; } /** @@ -206,8 +203,8 @@ function getBuildName(platform, arch) { function getPackageName(platform, arch) { // trim the "unknown" from linux and the "pc" from windows - const name = platform.split("-").slice(-2).join("-"); - return `pglt-testrelease-nightly-3-cli-${arch}-${name}`; + const platformName = platform.split("-").slice(-2).join("-"); + return `pglt-${arch}-${platformName}`; } function getOs(platform) { From ee9461a0f65d5532bfee535a779087fd8eb47197 Mon Sep 17 00:00:00 2001 From: Julian Date: Mon, 24 Feb 2025 18:04:28 +0100 Subject: [PATCH 92/92] already caught two --- packages/@pglt/pglt/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@pglt/pglt/package.json b/packages/@pglt/pglt/package.json index 8fad2431..264ee54c 100644 --- a/packages/@pglt/pglt/package.json +++ b/packages/@pglt/pglt/package.json @@ -33,8 +33,8 @@ "provenance": true }, "optionalDependencies": { - "pglt-x86_64-windows-msvc.exe": "", - "pglt-aarch64-windows-msvc.exe": "", + "pglt-x86_64-windows-msvc": "", + "pglt-aarch64-windows-msvc": "", "pglt-x86_64-apple-darwin": "", "pglt-aarch64-apple-darwin": "", "pglt-x86_64-linux-gnu": "",