Skip to content

Commit

Permalink
Merge pull request #94 from Devolutions/wasm-web-build
Browse files Browse the repository at this point in the history
chore(hackathon): build and publish a wasm web build
  • Loading branch information
Samuel-B-D authored Nov 13, 2024
2 parents 1f52d23 + b8dce12 commit 03322aa
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 20 deletions.
62 changes: 42 additions & 20 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,12 @@ on:
required: true
type: boolean
wasm:
description: Publish a wasm version (npmjs)
description: Publish a wasm (bundler) version (npmjs)
default: true
required: true
type: boolean
wasm_web:
description: Publish a wasm (web) version (npmjs)
default: true
required: true
type: boolean
Expand All @@ -39,14 +44,6 @@ jobs:
- name: Checkout repo
uses: actions/checkout@v4

- name: Checkout action
uses: actions/checkout@v4
with:
repository: Devolutions/actions
path: actions
ref: v2
token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}

- name: Setup wasm
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
Expand All @@ -62,17 +59,6 @@ jobs:
name: wasm
path: dist/bundler

- name: Setup .npmrc config file
uses: ./actions/npmrc-setup
with:
github_token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}

- name: Publish
run: npm publish --tag ${{ inputs.beta && 'beta' || 'latest' }}
working-directory: dist/bundler

- run: rm $HOME/.npmrc

- name: Configure NPM
run: npm config set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"

Expand All @@ -85,6 +71,42 @@ jobs:
env:
GH_TOKEN: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}

build-wasm-web:
environment: npm-publish
if: ${{ inputs.wasm_web }}
runs-on: ubuntu-latest

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Setup wasm
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
wasm-pack --version
- name: Build
run: sh build-web.sh
working-directory: wrappers/wasm

- name: Upload artifact
uses: actions/upload-artifact@v4.3.6
with:
name: wasm-web
path: dist/web

- name: Configure NPM
run: npm config set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"

- name: Publish
run: npm publish --tag ${{ inputs.beta && 'beta' || 'latest' }}
working-directory: dist/web

- name: Update Artifactory Cache
run: gh workflow run update-artifactory-cache.yml --repo Devolutions/scheduled-tasks --field package_name="slauth-web"
env:
GH_TOKEN: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}

build-android:
environment: cloudsmith-publish
if: ${{ inputs.android }}
Expand Down
13 changes: 13 additions & 0 deletions wrappers/wasm/build-web.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash

# https://stackoverflow.com/a/246128/1775923
SOURCE=${BASH_SOURCE[0]}
while [ -L "$SOURCE" ]; do
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )
SOURCE=$(readlink "$SOURCE")
[[ $SOURCE != /* ]] && SOURCE=$DIR/$SOURCE
done
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )

wasm-pack build --scope devolutions --out-dir ./dist/web --target web -- --no-default-features --features "webauthn"
sed -i 's/"@devolutions\/slauth"/"@devolutions\/slauth-web"/' ${DIR}/../../dist/web/package.json

0 comments on commit 03322aa

Please sign in to comment.