44 release :
55 types : [published]
66
7+ env :
8+ TARGET_PLATFORM : " linux/amd64,linux/arm/v7,linux/arm64"
9+
710jobs :
811 sdk-publish :
912 # This job publishes the package to PyPI
5962 with :
6063 password : ${{ secrets.PYPI_ORG_TOKEN }}
6164
62- server-publish :
65+ server-repository-publish :
66+ # This job publishes the server docker image to DockerHub
67+ runs-on : ubuntu-latest
68+ defaults :
69+ run :
70+ working-directory : ./server
71+ steps :
72+ - name : Checkout Repository
73+ uses : actions/checkout@v4
74+
75+ - name : Extract Docker image metadata
76+ id : meta
77+ uses : docker/metadata-action@v5
78+ with :
79+ images : eclipsebasyx/basyx-python-repository
80+ # This fetches the latest git tag and adds an additional "latest" to it, so e.g. `2.1.0,latest`
81+ tags : |
82+ type=semver,pattern={{version}}
83+ type=raw,value=latest
84+ labels : |
85+ org.opencontainers.image.title=BaSyx Python Repository Service
86+ org.opencontainers.image.description=Eclipse BaSyx Python SDK - Repository HTTP Server
87+ org.opencontainers.image.source=https://github.com/eclipse-basyx/basyx-python-sdk/tree/main/server
88+ org.opencontainers.image.licenses=MIT
89+
90+ - name : Log in to Docker Hub
91+ uses : docker/login-action@v4
92+ with :
93+ username : ${{ secrets.DOCKER_HUB_USER }}
94+ password : ${{ secrets.DOCKER_HUB_TOKEN }}
95+
96+ - name : Setup QEMU
97+ uses : docker/setup-qemu-action@v4
98+
99+ - name : Set up Docker Buildx
100+ uses : docker/setup-buildx-action@v4
101+
102+ - name : Build and Push Repository Docker Image
103+ uses : docker/build-push-action@v6
104+ with :
105+ context : .
106+ file : ./server/docker/repository/Dockerfile
107+ platforms : ${{ env.TARGET_PLATFORM }}
108+ push : true
109+ tags : ${{ steps.meta.outputs.tags }}
110+ labels : ${{ steps.meta.outputs.labels }}
111+
112+ server-discovery-publish :
63113 # This job publishes the server docker image to DockerHub
64114 runs-on : ubuntu-latest
65115 defaults :
@@ -73,14 +123,14 @@ jobs:
73123 id : meta
74124 uses : docker/metadata-action@v5
75125 with :
76- images : eclipsebasyx/basyx-python-server
126+ images : eclipsebasyx/basyx-python-discovery
77127 # This fetches the latest git tag and adds an additional "latest" to it, so e.g. `2.1.0,latest`
78128 tags : |
79129 type=semver,pattern={{version}}
80130 type=raw,value=latest
81131 labels : |
82- org.opencontainers.image.title=BaSyx Python Server
83- org.opencontainers.image.description=Eclipse BaSyx Python SDK - HTTP Server
132+ org.opencontainers.image.title=BaSyx Python Discovery Service
133+ org.opencontainers.image.description=Eclipse BaSyx Python SDK - Discovery HTTP Server
84134 org.opencontainers.image.source=https://github.com/eclipse-basyx/basyx-python-sdk/tree/main/server
85135 org.opencontainers.image.licenses=MIT
86136
@@ -90,11 +140,65 @@ jobs:
90140 username : ${{ secrets.DOCKER_HUB_USER }}
91141 password : ${{ secrets.DOCKER_HUB_TOKEN }}
92142
93- - name : Build and Push Docker Image
143+ - name : Setup QEMU
144+ uses : docker/setup-qemu-action@v4
145+
146+ - name : Set up Docker Buildx
147+ uses : docker/setup-buildx-action@v4
148+
149+ - name : Build and Push Repository Docker Image
150+ uses : docker/build-push-action@v6
151+ with :
152+ context : .
153+ file : ./server/docker/discovery/Dockerfile
154+ platforms : ${{ env.TARGET_PLATFORM }}
155+ push : true
156+ tags : ${{ steps.meta.outputs.tags }}
157+ labels : ${{ steps.meta.outputs.labels }}
158+
159+ server-registry-publish :
160+ # This job publishes the server docker image to DockerHub
161+ runs-on : ubuntu-latest
162+ defaults :
163+ run :
164+ working-directory : ./server
165+ steps :
166+ - name : Checkout Repository
167+ uses : actions/checkout@v4
168+
169+ - name : Extract Docker image metadata
170+ id : meta
171+ uses : docker/metadata-action@v5
172+ with :
173+ images : eclipsebasyx/basyx-python-registry
174+ # This fetches the latest git tag and adds an additional "latest" to it, so e.g. `2.1.0,latest`
175+ tags : |
176+ type=semver,pattern={{version}}
177+ type=raw,value=latest
178+ labels : |
179+ org.opencontainers.image.title=BaSyx Python Registry Service
180+ org.opencontainers.image.description=Eclipse BaSyx Python SDK - Registry HTTP Server
181+ org.opencontainers.image.source=https://github.com/eclipse-basyx/basyx-python-sdk/tree/main/server
182+ org.opencontainers.image.licenses=MIT
183+
184+ - name : Log in to Docker Hub
185+ uses : docker/login-action@v4
186+ with :
187+ username : ${{ secrets.DOCKER_HUB_USER }}
188+ password : ${{ secrets.DOCKER_HUB_TOKEN }}
189+
190+ - name : Setup QEMU
191+ uses : docker/setup-qemu-action@v4
192+
193+ - name : Set up Docker Buildx
194+ uses : docker/setup-buildx-action@v4
195+
196+ - name : Build and Push Repository Docker Image
94197 uses : docker/build-push-action@v6
95198 with :
96199 context : .
97- file : ./server/Dockerfile # Todo: Update paths
200+ file : ./server/docker/registry/Dockerfile
201+ platforms : ${{ env.TARGET_PLATFORM }}
98202 push : true
99203 tags : ${{ steps.meta.outputs.tags }}
100204 labels : ${{ steps.meta.outputs.labels }}
0 commit comments