diff --git a/.github/workflows/auto-version.yml b/.github/workflows/auto-version.yml index 7b393b4..5ae3819 100644 --- a/.github/workflows/auto-version.yml +++ b/.github/workflows/auto-version.yml @@ -177,6 +177,47 @@ jobs: -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/${{ github.repository }}/dispatches" \ -d '{"event_type":"docker-build","client_payload":{"pr_number":"${{ github.event.pull_request.number }}","pr_title":"${{ github.event.pull_request.title }}","commit_sha":"${{ github.sha }}"}}' + + # Add comment to PR about Docker build + COMMENT_BODY="🐳 **Docker Image Build Triggered** + +This PR triggered a Docker image build because of the \`+docker\` suffix in the title. + +**Expected Image Tags:** +- \`ghcr.io/${{ github.repository_owner }}/gemini-mcp-server:pr-${{ github.event.pull_request.number }}\` +- \`ghcr.io/${{ github.repository_owner }}/gemini-mcp-server:main-${{ github.sha }}\` + +**To test the image after build completes:** +\`\`\`bash +docker pull ghcr.io/${{ github.repository_owner }}/gemini-mcp-server:pr-${{ github.event.pull_request.number }} +\`\`\` + +**Claude Desktop config for testing:** +\`\`\`json +{ + \"mcpServers\": { + \"gemini\": { + \"command\": \"docker\", + \"args\": [ + \"run\", \"--rm\", \"-i\", + \"-e\", \"GEMINI_API_KEY\", + \"ghcr.io/${{ github.repository_owner }}/gemini-mcp-server:pr-${{ github.event.pull_request.number }}\" + ], + \"env\": { + \"GEMINI_API_KEY\": \"your-api-key-here\" + } + } + } +} +\`\`\` + +View the build progress in the [Actions tab](https://github.com/${{ github.repository }}/actions)." + + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" \ + -d "{\"body\":\"$COMMENT_BODY\"}" fi - name: Summary diff --git a/.github/workflows/build_and_publish_docker.yml b/.github/workflows/build_and_publish_docker.yml index 9309d1d..2c9e2f7 100644 --- a/.github/workflows/build_and_publish_docker.yml +++ b/.github/workflows/build_and_publish_docker.yml @@ -59,4 +59,58 @@ jobs: with: subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} subject-digest: ${{ steps.build.outputs.digest }} - push-to-registry: true \ No newline at end of file + push-to-registry: true + + - name: Generate usage instructions + run: | + echo "## 🐳 Docker Image Published Successfully!" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "**Image Registry:** GitHub Container Registry (GHCR)" >> $GITHUB_STEP_SUMMARY + echo "**Built Tags:** ${{ steps.meta.outputs.tags }}" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Extract the first tag for the main pull command + MAIN_TAG=$(echo "${{ steps.meta.outputs.tags }}" | head -n1) + + echo "### 📥 Pull the Image" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY + echo "docker pull $MAIN_TAG" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + echo "### ⚙️ Claude Desktop Configuration" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`json" >> $GITHUB_STEP_SUMMARY + echo "{" >> $GITHUB_STEP_SUMMARY + echo " \"mcpServers\": {" >> $GITHUB_STEP_SUMMARY + echo " \"gemini\": {" >> $GITHUB_STEP_SUMMARY + echo " \"command\": \"docker\"," >> $GITHUB_STEP_SUMMARY + echo " \"args\": [" >> $GITHUB_STEP_SUMMARY + echo " \"run\", \"--rm\", \"-i\"," >> $GITHUB_STEP_SUMMARY + echo " \"-e\", \"GEMINI_API_KEY\"," >> $GITHUB_STEP_SUMMARY + echo " \"$MAIN_TAG\"" >> $GITHUB_STEP_SUMMARY + echo " ]," >> $GITHUB_STEP_SUMMARY + echo " \"env\": {" >> $GITHUB_STEP_SUMMARY + echo " \"GEMINI_API_KEY\": \"your-gemini-api-key-here\"" >> $GITHUB_STEP_SUMMARY + echo " }" >> $GITHUB_STEP_SUMMARY + echo " }" >> $GITHUB_STEP_SUMMARY + echo " }" >> $GITHUB_STEP_SUMMARY + echo "}" >> $GITHUB_STEP_SUMMARY + echo "\`\`\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + echo "### 🏷️ All Available Tags" >> $GITHUB_STEP_SUMMARY + echo "Built and pushed the following tags:" >> $GITHUB_STEP_SUMMARY + echo "${{ steps.meta.outputs.tags }}" | sed 's/^/- `/' | sed 's/$/`/' >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + if [[ "${{ github.event_name }}" == "repository_dispatch" ]]; then + echo "**Note:** This is a development build triggered by PR #${{ github.event.client_payload.pr_number }}" >> $GITHUB_STEP_SUMMARY + echo "Use this image for testing the changes from that PR." >> $GITHUB_STEP_SUMMARY + elif [[ "${{ github.ref_type }}" == "tag" ]]; then + echo "**Note:** This is a release build from tag ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY + echo "This image represents a stable release version." >> $GITHUB_STEP_SUMMARY + fi + + echo "" >> $GITHUB_STEP_SUMMARY + echo "### 📦 View in GitHub Container Registry" >> $GITHUB_STEP_SUMMARY + echo "[View all versions and tags →](https://github.com/${{ github.repository }}/pkgs/container/gemini-mcp-server)" >> $GITHUB_STEP_SUMMARY \ No newline at end of file