feat: add posthog telemetry to all CLI commands and top-level SDK met… #9
Workflow file for this run
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: Release Dev | |
| on: | |
| push: | |
| tags: | |
| - "v*-dev*" | |
| permissions: | |
| contents: write | |
| id-token: write | |
| env: | |
| NODE_VERSION: "20.x" | |
| jobs: | |
| build-and-publish: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Enforce dev tag format | |
| run: | | |
| VERSION="${{ github.ref_name }}" | |
| if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+-dev ]]; then | |
| echo "Version '$VERSION' does not match required pattern v<major>.<minor>.<patch>-dev*" | |
| exit 1 | |
| fi | |
| echo "VERSION=$VERSION" >> $GITHUB_ENV | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set version from tag | |
| run: | | |
| # Clean leading v from provided version | |
| PACKAGE_VERSION="${VERSION#v}" | |
| echo "VERSION=$VERSION" >> $GITHUB_ENV | |
| echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV | |
| echo "Building dev version: $PACKAGE_VERSION" | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| registry-url: "https://registry.npmjs.org" | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| working-directory: . | |
| run: pnpm install --frozen-lockfile | |
| - name: Build SDK (dev) - dependency for CLI | |
| working-directory: ./packages/sdk | |
| env: | |
| BUILD_TYPE: dev | |
| PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} | |
| POSTHOG_API_KEY_BUILD_TIME: ${{ secrets.POSTHOG_API_KEY }} | |
| run: | | |
| pnpm run build | |
| - name: Build CLI (dev) | |
| working-directory: ./packages/cli | |
| env: | |
| BUILD_TYPE: dev | |
| PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} | |
| POSTHOG_API_KEY_BUILD_TIME: ${{ secrets.POSTHOG_API_KEY }} | |
| run: | | |
| pnpm run build | |
| - name: Get short sha | |
| run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV | |
| env: | |
| GITHUB_SHA: ${{ github.sha }} | |
| - name: Generate SDK VERSION file | |
| working-directory: ./packages/sdk | |
| env: | |
| PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} | |
| GITHUB_SHA: ${{ env.SHORT_SHA }} | |
| run: | | |
| node scripts/generate-version.js | |
| - name: Generate CLI VERSION file | |
| working-directory: ./packages/cli | |
| env: | |
| PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }} | |
| GITHUB_SHA: ${{ env.SHORT_SHA }} | |
| run: | | |
| node scripts/generate-version.js | |
| - name: Update SDK package.json for publishing | |
| working-directory: ./packages/sdk | |
| run: | | |
| # Update version (keep default package name) | |
| npm pkg set version="${{ env.PACKAGE_VERSION }}" | |
| - name: Publish SDK to npm (dev) | |
| working-directory: ./packages/sdk | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| run: | | |
| npm publish --tag dev --access public | |
| - name: Update CLI package.json for dev namespace | |
| working-directory: ./packages/cli | |
| run: | | |
| # Update version to tag as dev | |
| npm pkg set version="${{ env.PACKAGE_VERSION }}" | |
| # Update SDK dependency to match published version | |
| npm pkg set "dependencies.@layr-labs/ecloud-sdk"="${{ env.PACKAGE_VERSION }}" | |
| # Verify changes | |
| cat package.json | grep -A 2 '"name"' | |
| cat package.json | grep -A 1 '"@layr-labs/ecloud-sdk"' | |
| - name: Publish CLI to npm (dev) | |
| working-directory: ./packages/cli | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| run: | | |
| npm publish --tag dev --access public | |
| - name: Summary | |
| run: | | |
| echo "✅ Dev release published successfully!" | |
| echo "📦 SDK Package: @layr-labs/ecloud-sdk@${{ env.PACKAGE_VERSION }} (tag: dev)" | |
| echo "📦 CLI Package: @layr-labs/ecloud-cli@${{ env.PACKAGE_VERSION }} (tag: dev)" | |
| echo "🏷️ Tag: dev" | |
| echo "🔗 Install with: npm install -g @layr-labs/ecloud-cli@dev" |