Publish SDK package #47
This file contains hidden or 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: Publish SDK package | |
| on: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| packages: write | |
| id-token: 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: '24' | |
| - 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: Setup registry for npm | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Publish to npm | |
| run: | | |
| echo "@uipath:registry=https://registry.npmjs.org" > .npmrc | |
| npm publish --provenance --access public | |
| - name: Publish to GitHub Packages | |
| run: | | |
| echo "@uipath:registry=https://npm.pkg.github.com" > .npmrc | |
| echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> .npmrc | |
| npm publish | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate Summary | |
| run: | | |
| SDK_VERSION=$(node -p "require('./package.json').version") | |
| echo "## SDK Published Successfully" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Version: $SDK_VERSION" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Completed Steps:" >> $GITHUB_STEP_SUMMARY | |
| echo "- Updated telemetry constants" >> $GITHUB_STEP_SUMMARY | |
| echo "- Built TypeScript package" >> $GITHUB_STEP_SUMMARY | |
| echo "- Published to npm registry (public access, with provenance)" >> $GITHUB_STEP_SUMMARY | |
| echo "- Published to GitHub Packages" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Package Details:" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Package:** @uipath/uipath-typescript" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Version:** $SDK_VERSION" >> $GITHUB_STEP_SUMMARY |