1
1
# This workflow will upload Python Packages using uv when a release is created
2
- # It builds and publishes two separate packages: elasticsearch-mcp-server and opensearch-mcp-server
2
+ # It builds and publishes multiple packages for different Elasticsearch versions
3
3
4
4
name : PyPI Publish
5
5
16
16
deploy :
17
17
runs-on : ubuntu-latest
18
18
if : ${{ github.event.workflow_run.conclusion == 'success' }}
19
+ strategy :
20
+ matrix :
21
+ variant :
22
+ - name : " elasticsearch-mcp-server-es7"
23
+ elasticsearch_version : " 7.13.0"
24
+ - name : " elasticsearch-mcp-server"
25
+ elasticsearch_version : " 8.17.2"
26
+ - name : " elasticsearch-mcp-server-es9"
27
+ elasticsearch_version : " 9.0.0"
28
+ - name : " opensearch-mcp-server"
29
+ elasticsearch_version : " 8.17.2"
19
30
steps :
20
31
- uses : actions/checkout@v2
21
32
@@ -29,23 +40,19 @@ jobs:
29
40
python -m pip install uv
30
41
uv sync
31
42
32
- # First build and publish elasticsearch-mcp-server
33
- - name : Build elasticsearch-mcp-server package
43
+ - name : Modify pyproject.toml for ${{ matrix.variant.name }}
44
+ run : |
45
+ # Update package name
46
+ sed -i 's/^name = .*$/name = "${{ matrix.variant.name }}"/' pyproject.toml
47
+
48
+ # Update elasticsearch version
49
+ sed -i 's/elasticsearch==.*/elasticsearch==${{ matrix.variant.elasticsearch_version }}",/' pyproject.toml
50
+
51
+ - name : Build ${{ matrix.variant.name }} package
34
52
run : uv build
35
-
36
- - name : Publish elasticsearch-mcp-server package
53
+
54
+ - name : Publish ${{ matrix.variant.name }} package
37
55
run : uv publish
38
-
39
- # Clean up dist directory
56
+
40
57
- name : Clean dist directory
41
58
run : rm -rf dist/*
42
-
43
- # Then build and publish opensearch-mcp-server
44
- - name : Build opensearch-mcp-server package
45
- run : |
46
- # Change package name to opensearch-mcp-server
47
- sed -i 's/^name = .*$/name = "opensearch-mcp-server"/' pyproject.toml
48
- uv build
49
-
50
- - name : Publish opensearch-mcp-server package
51
- run : uv publish
0 commit comments