Skip to content

Commit 2821835

Browse files
authored
Merge pull request #51 from meilisearch/feature/docker-publish-every-commit
Publish Docker images on every main commit
2 parents 8272e46 + 6984d51 commit 2821835

File tree

2 files changed

+44
-19
lines changed

2 files changed

+44
-19
lines changed

.github/workflows/publish.yml

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -56,9 +63,7 @@ jobs:
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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ uv pip install -e .
141141

142142
Perfect for containerized environments like n8n workflows!
143143

144-
#### From Docker Hub (Recommended)
144+
#### From Docker Hub
145145

146146
```bash
147147
# Pull the latest image

0 commit comments

Comments
 (0)