Skip to content

Commit e567bc4

Browse files
Merge pull request #99 from UTEXO-Protocol/chore/release-sdk-wasm-npm-lockfix
2 parents 784f29b + 99ea084 commit e567bc4

1 file changed

Lines changed: 44 additions & 16 deletions

File tree

.github/workflows/release-sdk.yaml

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
echo "publish_to_npm=${PUBLISH_TO_NPM}" >> "$GITHUB_OUTPUT"
5252
5353
wasm-sdk:
54-
name: Build WASM SDK and publish npm
54+
name: Build WASM SDK package
5555
runs-on: ubuntu-latest
5656
timeout-minutes: 45
5757
needs: resolve-version
@@ -71,19 +71,13 @@ jobs:
7171
run: rustup target add wasm32-unknown-unknown
7272

7373
- name: Install wasm-pack
74-
run: cargo install wasm-pack@0.14.0
74+
run: cargo install wasm-pack --version 0.14.0 --locked
7575

7676
- name: Build WASM package
7777
run: |
7878
cd bindings/wasm-sdk
7979
wasm-pack build --target web --release --out-dir pkg
8080
81-
- name: Setup Node.js
82-
uses: actions/setup-node@v4
83-
with:
84-
node-version: "20"
85-
registry-url: "https://registry.npmjs.org"
86-
8781
- name: Set WASM package version and metadata
8882
working-directory: bindings/wasm-sdk/pkg
8983
run: |
@@ -102,13 +96,6 @@ jobs:
10296
- name: Copy README into package
10397
run: cp bindings/wasm-sdk/README.md bindings/wasm-sdk/pkg/README.md
10498

105-
- name: Publish WASM package to npm
106-
if: needs.resolve-version.outputs.publish_to_npm == 'true'
107-
working-directory: bindings/wasm-sdk/pkg
108-
run: npm publish --access public
109-
env:
110-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
111-
11299
- name: Package WASM release artifact
113100
run: |
114101
VERSION="${{ needs.resolve-version.outputs.version }}"
@@ -336,10 +323,51 @@ jobs:
336323
if-no-files-found: error
337324
path: release/rgb-lightning-node-swift-${{ needs.resolve-version.outputs.version }}.zip
338325

326+
npm-wasm:
327+
name: Publish WASM package to npm
328+
runs-on: ubuntu-latest
329+
needs: [resolve-version, kotlin-android, swift-ios, wasm-sdk]
330+
steps:
331+
- name: Download WASM artifact
332+
uses: actions/download-artifact@v4
333+
with:
334+
name: wasm-sdk-release
335+
path: release-assets
336+
337+
- name: Extract WASM package
338+
run: |
339+
set -euo pipefail
340+
shopt -s nullglob
341+
tarballs=(release-assets/*.tar.gz)
342+
if [ "${#tarballs[@]}" -ne 1 ]; then
343+
echo "Expected exactly one tarball in release-assets, got ${#tarballs[@]}"
344+
ls -la release-assets
345+
exit 1
346+
fi
347+
tar -xzf "${tarballs[0]}" -C release-assets
348+
349+
- name: Setup Node.js
350+
if: needs.resolve-version.outputs.publish_to_npm == 'true'
351+
uses: actions/setup-node@v4
352+
with:
353+
node-version: "20"
354+
registry-url: "https://registry.npmjs.org"
355+
356+
- name: Publish WASM package to npm
357+
if: needs.resolve-version.outputs.publish_to_npm == 'true'
358+
working-directory: release-assets/pkg
359+
run: npm publish --access public
360+
env:
361+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
362+
363+
- name: Skip npm publish
364+
if: needs.resolve-version.outputs.publish_to_npm != 'true'
365+
run: echo "publish_to_npm=false, skipping npm publish"
366+
339367
github-release:
340368
name: Publish GitHub release
341369
runs-on: ubuntu-latest
342-
needs: [resolve-version, kotlin-android, swift-ios, wasm-sdk]
370+
needs: [resolve-version, kotlin-android, swift-ios, wasm-sdk, npm-wasm]
343371
steps:
344372
- name: Download release artifacts
345373
uses: actions/download-artifact@v4

0 commit comments

Comments
 (0)