Skip to content

Publish Package NPM - dataprotector #15

Publish Package NPM - dataprotector

Publish Package NPM - dataprotector #15

name: Publish Package NPM - dataprotector
on:
workflow_dispatch:
inputs:
tag:
description: 'NPM tag to publish (latest or nightly)'
required: true
type: choice
options:
- latest
- nightly
- beta
default: nightly
jobs:
set-publish-version:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
- name: Set publish version
id: set-publish-version
if: github.event.inputs.tag == 'nightly'
working-directory: packages/sdk
run: |
if [ "${{ github.event.inputs.tag }}" == "nightly" ]; then
CURRENT_VERSION=$(npm pkg get version | tr -d '"')
NIGHTLY_VERSION="${CURRENT_VERSION}-nightly-${GITHUB_SHA::7}"
echo "VERSION=${NIGHTLY_VERSION}" >> $GITHUB_OUTPUT
else
echo "VERSION=$(npm pkg get version | tr -d '"')" >> $GITHUB_OUTPUT
fi
outputs:
VERSION: ${{ steps.set-publish-version.outputs.VERSION }}
publish-npm:
uses: iExecBlockchainComputing/github-actions-workflows/.github/workflows/publish-npm.yml@publish-npm-v1.4.0
needs: set-publish-version
with:
scope: '@iexec/dataprotector-sdk'
registry: 'https://registry.npmjs.org'
node-version: '18'
environment: ${{ github.event.inputs.target }}
working-directory: packages/sdk
tag: ${{ github.event.inputs.tag }}
version: ${{ needs.set-publish-version.outputs.VERSION }}
install-command: |
npm ci
npm run codegen
secrets:
npm-token: ${{ secrets.NPM_TOKEN }}