name: Publish SDK to npm on: push: tags: - 'v*' # Trigger on version tags (e.g., v0.1.0, v0.2.1) jobs: publish-npm: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: pnpm install --frozen-lockfile working-directory: network-ts-sdk - name: Build SDK run: pnpm build working-directory: network-ts-sdk - name: Publish to npm run: npm publish --access public working-directory: network-ts-sdk env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish-github: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js for GitHub Packages uses: actions/setup-node@v4 with: node-version: '18' registry-url: 'https://npm.pkg.github.com' scope: '@network' - name: Install dependencies run: pnpm install --frozen-lockfile working-directory: network-ts-sdk - name: Build SDK run: pnpm build working-directory: network-ts-sdk - name: Publish to GitHub Packages run: npm publish working-directory: network-ts-sdk env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}