@@ -10,19 +10,26 @@ jobs:
1010 runs-on : ubuntu-latest
1111 outputs :
1212 version_changed : ${{ steps.check_version.outputs.version_changed }}
13- new_version : ${{ steps.check_version .outputs.new_version }}
13+ current_version : ${{ steps.get_version .outputs.current_version }}
1414 steps :
1515 - uses : actions/checkout@v3
1616 with :
1717 fetch-depth : 2
1818
19+ - name : Get current version
20+ id : get_version
21+ run : |
22+ CURRENT_VERSION=$(grep "version = " pyproject.toml | cut -d'"' -f2)
23+ echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
24+
1925 - name : Check if version changed
2026 id : check_version
2127 run : |
22- git diff HEAD^ HEAD -- pyproject.toml | grep -q "version = " || exit 0
23- NEW_VERSION=$(grep "version = " pyproject.toml | cut -d'"' -f2)
24- echo "version_changed=true" >> $GITHUB_OUTPUT
25- echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
28+ if git diff HEAD^ HEAD -- pyproject.toml | grep -q "version = "; then
29+ echo "version_changed=true" >> $GITHUB_OUTPUT
30+ else
31+ echo "version_changed=false" >> $GITHUB_OUTPUT
32+ fi
2633
2734 build-and-publish-pypi :
2835 needs : check-version
5663 verbose : true
5764 print-hash : true
5865
59- build-and-publish-docker :
60- needs : check-version
61- if : needs.check-version.outputs.version_changed == 'true'
66+ build-and-publish-docker-latest :
6267 runs-on : ubuntu-latest
6368
6469 steps :
@@ -76,22 +81,42 @@ jobs:
7681 username : ${{ secrets.DOCKERHUB_USERNAME }}
7782 password : ${{ secrets.DOCKERHUB_TOKEN }}
7883
79- - name : Extract metadata
80- id : meta
81- uses : docker/metadata-action@v5
84+ - name : Build and push latest Docker image
85+ uses : docker/build-push-action@v5
86+ with :
87+ context : .
88+ platforms : linux/amd64,linux/arm64
89+ push : true
90+ tags : getmeili/meilisearch-mcp:latest
91+ cache-from : type=gha
92+ cache-to : type=gha,mode=max
93+
94+ build-and-publish-docker-versioned :
95+ needs : check-version
96+ if : needs.check-version.outputs.version_changed == 'true'
97+ runs-on : ubuntu-latest
98+
99+ steps :
100+ - uses : actions/checkout@v3
101+
102+ - name : Set up QEMU
103+ uses : docker/setup-qemu-action@v3
104+
105+ - name : Set up Docker Buildx
106+ uses : docker/setup-buildx-action@v3
107+
108+ - name : Log in to Docker Hub
109+ uses : docker/login-action@v3
82110 with :
83- images : getmeili/meilisearch-mcp
84- tags : |
85- type=raw,value=${{ needs.check-version.outputs.new_version }}
86- type=raw,value=latest
111+ username : ${{ secrets.DOCKERHUB_USERNAME }}
112+ password : ${{ secrets.DOCKERHUB_TOKEN }}
87113
88- - name : Build and push Docker image
114+ - name : Build and push versioned Docker image
89115 uses : docker/build-push-action@v5
90116 with :
91117 context : .
92118 platforms : linux/amd64,linux/arm64
93119 push : true
94- tags : ${{ steps.meta.outputs.tags }}
95- labels : ${{ steps.meta.outputs.labels }}
120+ tags : getmeili/meilisearch-mcp:${{ needs.check-version.outputs.current_version }}
96121 cache-from : type=gha
97122 cache-to : type=gha,mode=max
0 commit comments