Publish SDK package #20
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 | |
| 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 | |