|
10 | 10 | required: true |
11 | 11 | type: string |
12 | 12 |
|
13 | | -env: |
14 | | - IMAGE_NAME: iexechub/mcp-server |
15 | | - |
16 | 13 | jobs: |
17 | 14 | publish-docker: |
18 | 15 | runs-on: ubuntu-latest |
19 | 16 | steps: |
20 | 17 | - name: Checkout repository |
21 | 18 | uses: actions/checkout@v4 |
22 | 19 |
|
| 20 | + - name: Set up Docker Buildx |
| 21 | + uses: docker/setup-buildx-action@v3 |
| 22 | + |
| 23 | + - name: Login to Docker Hub |
| 24 | + uses: docker/login-action@v3 |
| 25 | + with: |
| 26 | + username: ${{ secrets.DOCKER_USERNAME }} |
| 27 | + password: ${{ secrets.DOCKER_PASSWORD }} |
| 28 | + |
23 | 29 | - name: Get version |
24 | 30 | id: version |
25 | 31 | run: | |
26 | 32 | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then |
27 | 33 | VERSION="${{ github.event.inputs.version }}" |
28 | | - elif [ "${{ github.ref_type }}" = "tag" ]; then |
29 | | - VERSION=${GITHUB_REF_NAME#v} |
30 | 34 | else |
31 | | - echo "Error: This workflow should only run on tags or workflow_dispatch" |
32 | | - exit 1 |
| 35 | + VERSION=${GITHUB_REF#refs/tags/v} |
33 | 36 | fi |
34 | 37 | echo "version=$VERSION" >> $GITHUB_OUTPUT |
35 | | - echo "Building Docker image for version: $VERSION" |
36 | | -
|
37 | | - - name: Set up Docker Buildx |
38 | | - uses: docker/setup-buildx-action@v3 |
39 | | - |
40 | | - - name: Login to Docker Hub |
41 | | - uses: docker/login-action@v3 |
42 | | - with: |
43 | | - username: ${{ secrets.DOCKERHUB_USERNAME}} |
44 | | - password: ${{ secrets.DOCKERHUB_TOKEN }} |
| 38 | + echo "Publishing version: $VERSION" |
45 | 39 |
|
46 | 40 | - name: Build and push Docker image |
47 | 41 | uses: docker/build-push-action@v5 |
48 | 42 | with: |
49 | 43 | context: . |
50 | 44 | push: true |
51 | | - platforms: linux/amd64,linux/arm64 |
52 | 45 | tags: | |
53 | | - ${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }} |
54 | | - ${{ env.IMAGE_NAME }}:latest |
| 46 | + iexechub/mcp-server:latest |
| 47 | + iexechub/mcp-server:mcp-server-v${{ steps.version.outputs.version }} |
55 | 48 | cache-from: type=gha |
56 | 49 | cache-to: type=gha,mode=max |
57 | 50 |
|
58 | | - - name: Success notification |
| 51 | + - name: Success |
59 | 52 | run: | |
60 | | - echo "✅ Docker image published: v${{ steps.version.outputs.version }}" |
61 | | - echo "🐳 https://hub.docker.com/r/${{ env.IMAGE_NAME }}" |
| 53 | + echo "✅ Published Docker image v${{ steps.version.outputs.version }}" |
| 54 | + echo "🐳 Docker Hub: https://hub.docker.com/r/iexechub/mcp-server" |
0 commit comments