name: Publish to npm

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    env:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

    steps:
      - name: Check out code
        uses: actions/checkout@v4

      - name: Set up Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.2.5

      - name: Install dependencies
        run: bun install

      - name: Build package
        run: bun run build

      - name: Update package name for publishing
        run: |
          jq '.name = "@fleek-platform/eliza-plugin-mcp"' package.json > package.json.tmp
          mv package.json.tmp package.json

      - name: Set NPM profile for publishing packages
        uses: franzbischoff/replace_envs@v1
        env:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        with:
          from_file: '.npmrc.template'
          to_file: '.npmrc'
          commit: 'false'

      - name: Publish package
        run: bun publish --access=public