Skip to content

Commit 04c06e5

Browse files
committed
fix(Workflows): Fixed the publish CI/CD pipeline
1 parent 3a29e75 commit 04c06e5

File tree

1 file changed

+110
-42
lines changed

1 file changed

+110
-42
lines changed

.github/workflows/publish.yml

Lines changed: 110 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,20 @@ jobs:
4242
id: meta
4343
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
4444
with:
45-
images: ${{ env.REGISTRY }}/${{ github.repository }}
45+
images: ${{ env.REGISTRY }}/${{ github.repository }}/api
4646
tags: |
4747
type=semver,pattern={{version}}
4848
type=semver,pattern={{major}}.{{minor}}
4949
- name: Build and push Docker image
5050
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
5151
with:
5252
context: .
53-
file: './src/apps/Synapse.Server/Dockerfile'
53+
file: './src/api/Synapse.Api.Server/Dockerfile'
5454
push: true
5555
tags: ${{ steps.meta.outputs.tags }}
5656
labels: ${{ steps.meta.outputs.labels }}
57-
58-
publish-worker-image:
57+
58+
publish-operator-image:
5959
runs-on: ubuntu-latest
6060
steps:
6161
- name: Checkout repository
@@ -70,21 +70,49 @@ jobs:
7070
id: meta
7171
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
7272
with:
73-
images: ${{ env.REGISTRY }}/${{ github.repository }}-worker
73+
images: ${{ env.REGISTRY }}/${{ github.repository }}/operator
7474
tags: |
7575
type=semver,pattern={{version}}
7676
type=semver,pattern={{major}}.{{minor}}
7777
- name: Build and push Docker image
7878
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
7979
with:
8080
context: .
81-
file: './src/apps/Synapse.Worker/Dockerfile'
81+
file: './src/operator/Synapse.Operator/Dockerfile'
82+
push: true
83+
tags: ${{ steps.meta.outputs.tags }}
84+
labels: ${{ steps.meta.outputs.labels }}
85+
86+
publish-correlator-image:
87+
runs-on: ubuntu-latest
88+
steps:
89+
- name: Checkout repository
90+
uses: actions/checkout@v3
91+
- name: Log in to the Container registry
92+
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
93+
with:
94+
registry: ${{ env.REGISTRY }}
95+
username: ${{ github.actor }}
96+
password: ${{ secrets.GITHUB_TOKEN }}
97+
- name: Extract metadata (tags, labels) for Docker
98+
id: meta
99+
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
100+
with:
101+
images: ${{ env.REGISTRY }}/${{ github.repository }}/correlator
102+
tags: |
103+
type=semver,pattern={{version}}
104+
type=semver,pattern={{major}}.{{minor}}
105+
- name: Build and push Docker image
106+
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
107+
with:
108+
context: .
109+
file: './src/correlator/Synapse.Correlator/Dockerfile'
82110
push: true
83111
tags: ${{ steps.meta.outputs.tags }}
84112
labels: ${{ steps.meta.outputs.labels }}
85113

86114
publish-server-bin:
87-
name: Release Server Binaries
115+
name: Release API Binaries
88116
strategy:
89117
matrix:
90118
kind: ['linux', 'windows', 'macOS']
@@ -105,16 +133,16 @@ jobs:
105133
- name: Setup
106134
uses: actions/setup-dotnet@v2
107135
with:
108-
dotnet-version: 8.0.0x
136+
dotnet-version: 6.0.x
109137
- name: Restore
110138
run: dotnet restore
111139
- name: Build
112140
shell: bash
113141
run: |
114142
tag=$(git describe --tags --abbrev=0)
115-
release_name="synapse-${{ matrix.target }}"
143+
release_name="api-${{ matrix.target }}"
116144
# Publish
117-
dotnet publish src/apps/Synapse.Server/Synapse.Server.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name"
145+
dotnet publish src/api/Synapse.Api.Server/Synapse.Api.Server.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name"
118146
# Pack
119147
if [ "${{ matrix.target }}" == "win-x64" ]; then
120148
# Pack for Windows
@@ -128,12 +156,12 @@ jobs:
128156
- name: Publish
129157
uses: softprops/action-gh-release@v1
130158
with:
131-
files: "synapse*"
159+
files: "api*"
132160
env:
133161
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134162

135-
publish-worker-bin:
136-
name: Release Worker Binaries
163+
publish-operator-bin:
164+
name: Release Operator Binaries
137165
strategy:
138166
matrix:
139167
kind: ['linux', 'windows', 'macOS']
@@ -154,16 +182,16 @@ jobs:
154182
- name: Setup
155183
uses: actions/setup-dotnet@v2
156184
with:
157-
dotnet-version: 8.0.0x
185+
dotnet-version: 6.0.x
158186
- name: Restore
159187
run: dotnet restore
160188
- name: Build
161189
shell: bash
162190
run: |
163191
tag=$(git describe --tags --abbrev=0)
164-
release_name="synapse-worker-${{ matrix.target }}"
192+
release_name="operator-${{ matrix.target }}"
165193
# Publish
166-
dotnet publish src/apps/Synapse.Worker/Synapse.Worker.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name" -p:PublishSingleFile=true
194+
dotnet publish src/operator/Synapse.Operator/Synapse.Operator.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name"
167195
# Pack
168196
if [ "${{ matrix.target }}" == "win-x64" ]; then
169197
# Pack for Windows
@@ -177,12 +205,12 @@ jobs:
177205
- name: Publish
178206
uses: softprops/action-gh-release@v1
179207
with:
180-
files: "synapse-worker*"
208+
files: "operator*"
181209
env:
182210
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
183-
184-
publish-cli-bin:
185-
name: Release CLI Binaries
211+
212+
publish-correlator-bin:
213+
name: Release Correlator Binaries
186214
strategy:
187215
matrix:
188216
kind: ['linux', 'windows', 'macOS']
@@ -203,16 +231,16 @@ jobs:
203231
- name: Setup
204232
uses: actions/setup-dotnet@v2
205233
with:
206-
dotnet-version: 8.0.0x
234+
dotnet-version: 6.0.x
207235
- name: Restore
208236
run: dotnet restore
209237
- name: Build
210238
shell: bash
211239
run: |
212240
tag=$(git describe --tags --abbrev=0)
213-
release_name="synctl-${{ matrix.target }}"
241+
release_name="correlator-${{ matrix.target }}"
214242
# Publish
215-
dotnet publish src/apps/Synapse.Cli/Synapse.Cli.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name" -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
243+
dotnet publish src/correlator/Synapse.Correlator/Synapse.Correlator.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name"
216244
# Pack
217245
if [ "${{ matrix.target }}" == "win-x64" ]; then
218246
# Pack for Windows
@@ -226,64 +254,104 @@ jobs:
226254
- name: Publish
227255
uses: softprops/action-gh-release@v1
228256
with:
229-
files: "synctl*"
257+
files: "correlator*"
230258
env:
231259
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
232-
233-
publish-eventstore-plugin:
234-
runs-on: ubuntu-latest
260+
261+
publish-runner-bin:
262+
name: Release Runner Binaries
263+
strategy:
264+
matrix:
265+
kind: ['linux', 'windows', 'macOS']
266+
include:
267+
- kind: linux
268+
os: ubuntu-latest
269+
target: linux-x64
270+
- kind: windows
271+
os: windows-latest
272+
target: win-x64
273+
- kind: macOS
274+
os: macos-latest
275+
target: osx-x64
276+
runs-on: ${{ matrix.os }}
235277
steps:
236278
- name: Checkout
237279
uses: actions/checkout@v1
238280
- name: Setup
239281
uses: actions/setup-dotnet@v2
240282
with:
241-
dotnet-version: 8.0.0x
283+
dotnet-version: 6.0.x
242284
- name: Restore
243285
run: dotnet restore
244286
- name: Build
245287
shell: bash
246288
run: |
247289
tag=$(git describe --tags --abbrev=0)
248-
release_name="EventStoreRepositoryPlugin"
290+
release_name="synapse-runner-${{ matrix.target }}"
249291
# Publish
250-
dotnet publish src/plugins/persistence/Synapse.Plugins.Persistence.EventStore/Synapse.Plugins.Persistence.EventStore.csproj -c Release -o "${release_name}"
292+
dotnet publish src/runner/Synapse.Runner/Synapse.Runner.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name" -p:PublishSingleFile=true
251293
# Pack
252-
tar czvf "${release_name}.tar.gz" "${release_name}"
294+
if [ "${{ matrix.target }}" == "win-x64" ]; then
295+
# Pack for Windows
296+
7z a -tzip "${release_name}.zip" "./${release_name}/*"
297+
else
298+
# Pack for other OS
299+
tar czvf "${release_name}.tar.gz" "$release_name"
300+
fi
253301
# Delete output directory
254-
rm -r "${release_name}"
302+
rm -r "$release_name"
255303
- name: Publish
256304
uses: softprops/action-gh-release@v1
257305
with:
258-
files: "EventStoreRepositoryPlugin*"
306+
files: "synapse-runner*"
259307
env:
260308
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
261309

262-
publish-mongodb-plugin:
263-
runs-on: ubuntu-latest
310+
publish-cli-bin:
311+
name: Release CLI Binaries
312+
strategy:
313+
matrix:
314+
kind: ['linux', 'windows', 'macOS']
315+
include:
316+
- kind: linux
317+
os: ubuntu-latest
318+
target: linux-x64
319+
- kind: windows
320+
os: windows-latest
321+
target: win-x64
322+
- kind: macOS
323+
os: macos-latest
324+
target: osx-x64
325+
runs-on: ${{ matrix.os }}
264326
steps:
265327
- name: Checkout
266328
uses: actions/checkout@v1
267329
- name: Setup
268330
uses: actions/setup-dotnet@v2
269331
with:
270-
dotnet-version: 8.0.0x
332+
dotnet-version: 6.0.x
271333
- name: Restore
272334
run: dotnet restore
273335
- name: Build
274336
shell: bash
275337
run: |
276338
tag=$(git describe --tags --abbrev=0)
277-
release_name="MongoDBRepositoryPlugin"
339+
release_name="synctl-${{ matrix.target }}"
278340
# Publish
279-
dotnet publish src/plugins/persistence/Synapse.Plugins.Persistence.MongoDB/Synapse.Plugins.Persistence.MongoDB.csproj -c Release -o "${release_name}"
341+
dotnet publish src/cli/Synapse.Cli/Synapse.Cli.csproj --runtime "${{ matrix.target }}" -c Release -o "$release_name" -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
280342
# Pack
281-
tar czvf "${release_name}.tar.gz" "${release_name}"
343+
if [ "${{ matrix.target }}" == "win-x64" ]; then
344+
# Pack for Windows
345+
7z a -tzip "${release_name}.zip" "./${release_name}/*"
346+
else
347+
# Pack for other OS
348+
tar czvf "${release_name}.tar.gz" "$release_name"
349+
fi
282350
# Delete output directory
283-
rm -r "${release_name}"
351+
rm -r "$release_name"
284352
- name: Publish
285353
uses: softprops/action-gh-release@v1
286354
with:
287-
files: "MongoDBRepositoryPlugin*"
355+
files: "synctl*"
288356
env:
289-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
357+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)