name: Sync version to MCP and CLI repos on: release: types: [published] workflow_dispatch: jobs: sync-version: name: Sync version to external repos runs-on: ubuntu-latest steps: - name: Checkout Dokploy repository uses: actions/checkout@v4 - name: Get version id: get_version run: | VERSION=$(jq -r .version apps/dokploy/package.json) echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Version: $VERSION" - name: Sync version to MCP repository run: | git clone https://x-access-token:${{ secrets.DOCS_SYNC_TOKEN }}@github.com/dokploy/mcp.git /tmp/mcp-repo cd /tmp/mcp-repo # Regenerate tools from latest OpenAPI spec npm install -g pnpm pnpm install pnpm run fetch-openapi pnpm run generate # Bump version after install so pnpm install doesn't overwrite it jq --arg v "${{ steps.get_version.outputs.version }}" '.version = $v' package.json > package.json.tmp mv package.json.tmp package.json git config user.name "Dokploy Bot" git config user.email "bot@dokploy.com" git add -A git commit -m "chore: bump version to ${{ steps.get_version.outputs.version }}" \ -m "Source: ${{ github.repository }}@${{ github.sha }}" \ -m "Release: ${{ github.event.release.html_url }}" \ --allow-empty git push - name: Sync version to CLI repository run: | git clone https://x-access-token:${{ secrets.DOCS_SYNC_TOKEN }}@github.com/dokploy/cli.git /tmp/cli-repo cd /tmp/cli-repo # Copy latest openapi spec and regenerate commands cp ${{ github.workspace }}/openapi.json ./openapi.json npm install -g pnpm pnpm install pnpm run generate # Bump version after install so pnpm install doesn't overwrite it if [ -f package.json ]; then jq --arg v "${{ steps.get_version.outputs.version }}" '.version = $v' package.json > package.json.tmp mv package.json.tmp package.json fi git config user.name "Dokploy Bot" git config user.email "bot@dokploy.com" git add -A git commit -m "chore: bump version to ${{ steps.get_version.outputs.version }}" \ -m "Source: ${{ github.repository }}@${{ github.sha }}" \ -m "Release: ${{ github.event.release.html_url }}" \ --allow-empty git push echo "CLI repo synced to version ${{ steps.get_version.outputs.version }}"