Skip to content

Package build and publish #16

Package build and publish

Package build and publish #16

Workflow file for this run

name: publish
on:
workflow_dispatch:
inputs:
version:
description: 'version'
required: true
type: string
npm_tag:
description: 'release tag'
required: false
type: string
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Check if the release branch exists
run: |
set -x
branch_name="release/v${{ github.event.inputs.version }}"
if ! git ls-remote --exit-code --heads origin "$branch_name" > /dev/null; then
echo "Branch $branch_name does not exist. Make sure to create the branch and create a Jira ticket with pr-comment-bot."
exit 1
fi
- name: Install and Build
run: |
npm install
touch .env.production
echo "VITE_CHAT_AI_WIDGET_KEY=${{ secrets.chat_ai_widget_key }}" >> .env.production && \
echo "VITE_CHAT_AI_WIDGET_DATADOG_CLIENT_TOKEN=${{ secrets.datadog_client_token }}" >> .env.production && \
echo "VITE_CHAT_AI_WIDGET_DATADOG_APP_ID=${{ secrets.datadog_app_id }}" >> .env.production
npm run build:npm
- name: Publish to npm
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.npm_token }}" >> .npmrc
if [ -z "${{ github.event.inputs.npm_tag }}" ]; then
npm publish --access=public
else
npm publish --tag ${{ github.event.inputs.npm_tag }} --access=public
fi
- name: Set environments
run: |
git config --global user.name "sendbird-sdk-deployment"
git config --global user.email "[email protected]"
- name: Update installed chat-ai-widget version to latest under packages/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
packages=( "url-webdemo" "self-service" )
for package in "${packages[@]}"; do
cd ./packages/$package
npm install @sendbird/chat-ai-widget@${{ github.event.inputs.version }}
cd -
done
git add .
git commit -m "chore: update chat-ai-widget version to v${{ github.event.inputs.version }}"
git push origin release/v${{ github.event.inputs.version }}
- name: Tag new target and push to origin
run: |
git tag v${{ github.event.inputs.version }}
git push origin v${{ github.event.inputs.version }}