name: Publish to NPM
on:
release:
types: [created]
paths:
- "packages/flow-mcp/**"
- "packages/flow-defi-mcp/**"
jobs:
publish:
runs-on: ubuntu-latest
if: |
startsWith(github.event.release.tag_name, 'flow-mcp@') ||
startsWith(github.event.release.tag_name, 'flow-defi-mcp@')
defaults:
run:
working-directory: ${{ startsWith(github.event.release.tag_name, 'flow-mcp@') && 'packages/flow-mcp' || 'packages/flow-defi-mcp' }}
steps:
- uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20.x"
registry-url: "https://registry.npmjs.org"
- name: Install dependencies
run: bun install
- name: Run tests
run: bun test
- name: Build
run: bun run build
- name: Publish to NPM
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}