npm - release @prisma/prisma-schema-wasm@5.9.0-28.c2e5bf22be25fc20437ad83be3d21897645f9651 from c2e5bf22be25fc20437ad83be3d21897645f9651 on latest #324
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and publish @prisma/prisma-schema-wasm | |
run-name: npm - release @prisma/prisma-schema-wasm@${{ github.event.inputs.enginesWrapperVersion }} from ${{ github.event.inputs.enginesHash }} on ${{ github.event.inputs.npmDistTag }} | |
concurrency: publish-prisma-schema-wasm | |
on: | |
# usually triggered via GH Actions Workflow in prisma/engines-wrapper repo | |
workflow_dispatch: | |
inputs: | |
enginesWrapperVersion: | |
required: true | |
description: 'New @prisma/prisma-schema-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/prisma-schema-wasm | |
runs-on: ubuntu-latest | |
steps: | |
- name: Print input | |
env: | |
THE_INPUT: '${{ toJson(github.event.inputs) }}' | |
run: | | |
echo $THE_INPUT | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.inputs.enginesHash }} | |
- uses: cachix/install-nix-action@v24 | |
- name: Build | |
run: nix build .#prisma-schema-wasm | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
# This is needed to be done manually because of `PACKAGE_DIR` used later | |
- name: Set up NPM token for publishing later | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc | |
- name: Update version in package.json & Publish @prisma/prisma-schema-wasm | |
run: | | |
# Update version in package.json and return directory for later usage | |
PACKAGE_DIR=$( nix run .#renderPrismaSchemaWasmPackage ${{ github.event.inputs.enginesWrapperVersion }}) | |
npm publish "$PACKAGE_DIR" --access public --tag ${{ github.event.inputs.npmDistTag }} | |
# | |
# 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: 'Building and publishing @prisma/prisma-schema-wasm failed :x:' | |
SLACK_COLOR: '#FF0000' | |
SLACK_CHANNEL: feed-prisma-schema-wasm-publish-failures | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WASM_FAILING }} |