Skip to content

Publish SDK package #20

Publish SDK package

Publish SDK package #20

Workflow file for this run

name: Publish SDK package
on:
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
publish-sdk:
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Install Dependencies
run: npm ci
- name: Update Telemetry Constants
shell: bash
run: |
# Get versions from respective package.json files
CLI_VERSION=$(node -p "require('./packages/cli/package.json').version")
SDK_VERSION=$(node -p "require('./package.json').version")
# Replace placeholders in both telemetry constants files
# CLI constants - uses CLI_VERSION from CLI package.json
sed -i 's|\$CONNECTION_STRING|${{ secrets.CONNECTION_STRING }}|g' packages/cli/src/telemetry/constants.ts
sed -i "s|\$CLI_VERSION|$CLI_VERSION|g" packages/cli/src/telemetry/constants.ts
# SDK core constants - uses SDK_VERSION from root package.json
sed -i 's|\$CONNECTION_STRING|${{ secrets.CONNECTION_STRING }}|g' src/core/telemetry/constants.ts
sed -i "s|\$SDK_VERSION|$SDK_VERSION|g" src/core/telemetry/constants.ts
echo "Updated telemetry constants with:"
echo "CONNECTION_STRING: ${{ secrets.CONNECTION_STRING }}"
echo "- CLI_VERSION (from CLI package): $CLI_VERSION"
echo "- SDK_VERSION (from root package): $SDK_VERSION"
- name: Build
run: npm run build
- name: Pack
run: npm pack
- name: publish to github packages
run: npm publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Override npmrc for npm publish
run: |
echo "@uipath:registry=https://registry.npmjs.org" > .npmrc
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Publish to npm
run: npm publish --access public
env:
GITHUB_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Generate Summary
run: |
echo "## SDK Published Successfully" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Version: $NEW_VERSION" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Completed Steps:" >> $GITHUB_STEP_SUMMARY
echo "-Auto-incremented beta version from $CURRENT_VERSION to $NEW_VERSION" >> $GITHUB_STEP_SUMMARY
echo "-Updated telemetry constants" >> $GITHUB_STEP_SUMMARY
echo "-Built TypeScript package" >> $GITHUB_STEP_SUMMARY
echo "-Created package tarball" >> $GITHUB_STEP_SUMMARY
echo "-Published to GitHub Packages" >> $GITHUB_STEP_SUMMARY
echo "-Published to npm registry (public access)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Package Details:" >> $GITHUB_STEP_SUMMARY
echo "- **Package:** @uipath/uipath-typescript" >> $GITHUB_STEP_SUMMARY
echo "- **Version:** $NEW_VERSION" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY