name: UI Release on: push: branches: [master] paths: - 'packages/ui/**' - 'release-please-config.json' - '.release-please-manifest.json' permissions: contents: write pull-requests: write jobs: release-please: name: Release Please runs-on: ubuntu-latest outputs: release_created: ${{ steps.release.outputs['packages/ui--release_created'] }} tag_name: ${{ steps.release.outputs['packages/ui--tag_name'] }} version: ${{ steps.release.outputs['packages/ui--version'] }} steps: - name: Release Please id: release uses: googleapis/release-please-action@v4 with: config-file: release-please-config.json manifest-file: .release-please-manifest.json publish: name: Publish to npm needs: release-please if: ${{ needs.release-please.outputs.release_created == 'true' }} runs-on: ubuntu-latest defaults: run: working-directory: packages/ui steps: - name: Checkout uses: actions/checkout@v6 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version-file: 'packages/ui/.tool-versions' registry-url: 'https://registry.npmjs.org' cache: 'npm' cache-dependency-path: packages/ui/package-lock.json - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Validate package run: npm run validate - name: Publish to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}