From 572b9e6c9cd0cc670f21ef73e7d1e428d2c976b8 Mon Sep 17 00:00:00 2001 From: David de Hilster Date: Wed, 14 Oct 2026 16:10:32 -0400 Subject: [PATCH] Upload one release archive per platform Every platform prebuild is named bindings.node and release assets are flat, so uploading prebuilds/**/* raced three same-named uploads: overwrite_files deleted each other's asset (404 on v1.3.61) and earlier releases silently kept only one platform. Tar each platform dir into nlpplus--.tar.gz and upload those instead. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/publish.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7907c7e..7548517 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -128,7 +128,19 @@ jobs: # is generated automatically from the OIDC claims. - name: Publish run: npm publish --provenance --access public + # One archive per platform: every platform ships a file named + # bindings.node, and release assets are flat, so uploading + # prebuilds/**/* made three same-named uploads race (overwrite_files + # deletes the other's asset -> 404) and kept at most one platform. + - name: Package prebuilds per platform + run: | + mkdir -p release-assets + for d in prebuilds/*/; do + plat=$(basename "$d") + tar -czf "release-assets/nlpplus-${GITHUB_REF_NAME}-${plat}.tar.gz" -C prebuilds "$plat" + done + ls -l release-assets - name: GitHub release uses: softprops/action-gh-release@v2 with: - files: prebuilds/**/* + files: release-assets/*