name: manual-release

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

on:
  workflow_dispatch:
    inputs:
      is_feat:
        description: 'is feat'
        type: boolean
jobs:
  push-commit:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          repository: nocobase/nocobase
          ssh-key: ${{ secrets.NOCOBASE_DEPLOY_KEY }}
          persist-credentials: true
          fetch-depth: 0
      - name: Checkout pro-plugins
        uses: actions/checkout@v4
        with:
          repository: nocobase/pro-plugins
          path: packages/pro-plugins
          fetch-depth: 0
          ssh-key: ${{ secrets.PRO_PLUGINS_DEPLOY_KEY }}
          persist-credentials: true
      - name: Set Node.js 18
        uses: actions/setup-node@v3
        with:
          node-version: 18
      - name: Install Lerna
        run: npm install -g lerna@4 auto-changelog@2
      - name: Run release.sh
        run: |
          git config --global user.email "actions@github.com"
          git config --global user.name "GitHub Actions Bot"
          echo "packages/pro-plugins/" >> .git/info/exclude
          bash release.sh $IS_FEAT
        env:
          IS_FEAT: ${{ inputs.is_feat && '--is-feat' || '' }}
      - name: push pro plugins
        continue-on-error: true
        uses: ad-m/github-push-action@master
        with:
          ssh: true
          branch: main
          directory: packages/pro-plugins
          repository: nocobase/pro-plugins
          tags: true
          atomic: true
      - name: push nocobase
        uses: ad-m/github-push-action@master
        with:
          branch: main
          ssh: true
          repository: nocobase/nocobase
          tags: true
          atomic: true
