Skip to content

Commit

Permalink
ci: add GH Actions workflow for query-engine-wasm publishing (#4491)
Browse files Browse the repository at this point in the history
Co-authored-by: Joël Galeran <[email protected]>
  • Loading branch information
aqrln and Jolg42 authored Nov 27, 2023
1 parent 01aad9b commit 6f27bcb
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/publish-query-engine-wasm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Build and publish @prisma/query-engine-wasm
run-name: npm - release @prisma/query-engine-wasm@${{ github.event.inputs.enginesWrapperVersion }} from ${{ github.event.inputs.enginesHash }} on ${{ github.event.inputs.npmDistTag }}

concurrency: publish-query-engine-wasm

on:
# usually triggered via GH Actions Workflow in prisma/engines-wrapper repo
workflow_dispatch:
inputs:
packageVersion:
required: true
description: 'New @prisma/query-engine-wasm package version'
enginesHash:
required: true
description: 'prisma-engines commit to build'
npmDistTag:
required: true
default: 'latest'
description: 'npm dist-tag (e.g. latest or integration)'

jobs:
build:
name: Build and publish @prisma/query-engine-wasm
runs-on: ubuntu-latest
steps:
- name: Print input
run: echo "${{ toJson(github.event.inputs) }}"

- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.enginesHash }}

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Install wasm-pack
run: cargo install wasm-pack

- name: Build @prisma/query-engine-wasm
run: ./build.sh ${{ github.event.inputs.packageVersion }}
working-directory: ./query-engine/query-engine-wasm

- name: Set up NPM token for publishing
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc

- name: Publish @prisma/query-engine-wasm
run: npm publish --access public --tag ${{ github.event.inputs.npmDistTag }}
working-directory: ./query-engine/query-engine-wasm/pkg

#
# Failure handlers
#
- name: Set current job url in SLACK_FOOTER env var
if: ${{ failure() }}
run: echo "SLACK_FOOTER=<$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID|Click here to go to the job logs>" >> $GITHUB_ENV
- name: Slack Notification on Failure
if: ${{ failure() }}
uses: rtCamp/[email protected]
env:
SLACK_TITLE: 'Build and publish @prisma/query-engine-wasm failed :x:'
SLACK_COLOR: '#FF0000'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WASM_FAILING }}

0 comments on commit 6f27bcb

Please sign in to comment.