Skip to content

Commit

Permalink
build and publish a wasm web build
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuel-B-D committed Nov 13, 2024
1 parent 1f52d23 commit 2985d2b
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 9 deletions.
72 changes: 63 additions & 9 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 Down Expand Up @@ -67,10 +72,6 @@ jobs:
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
Expand All @@ -80,10 +81,63 @@ jobs:
run: npm publish --tag ${{ inputs.beta && 'beta' || 'latest' }}
working-directory: dist/bundler

- name: Update Artifactory Cache
run: gh workflow run update-artifactory-cache.yml --repo Devolutions/scheduled-tasks --field package_name="slauth"
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: 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
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: Setup .npmrc config file
uses: ./actions/npmrc-setup
with:
github_token: ${{ secrets.DEVOLUTIONSBOT_WRITE_TOKEN }}

- run: rm $HOME/.npmrc

- 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

update-artifactory-cache:
environment: npm-publish
if: ${{ !failure() && !cancelled() && (inputs.wasm || inputs.wasm_web) }}
runs-on: ubuntu-latest
needs: [build-wasm, build-wasm-web]

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

build-android:
environment: cloudsmith-publish
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 2985d2b

Please sign in to comment.