Skip to content

Commit 1a2f6d3

Browse files
Update binary matrix
1 parent dc71d3d commit 1a2f6d3

File tree

1 file changed

+45
-34
lines changed

1 file changed

+45
-34
lines changed

.github/workflows/release.yml

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ name: Release
88
on: [push]
99

1010
env:
11-
binary: client
1211
add_binaries_to_github_release: true
1312
use_git_lfs: true
1413

1514
jobs:
1615
release-linux:
1716
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
binary: [client, server]
1820

1921
steps:
2022
- uses: olegtarasov/get-tag@v2.1.2
@@ -31,38 +33,41 @@ jobs:
3133
3234
- name: Build
3335
run: |
34-
cargo build --release --target x86_64-unknown-linux-gnu
36+
cargo build --release --target x86_64-unknown-linux-gnu --bin ${{ matrix.binary }}
3537
3638
- name: Prepare package
3739
run: |
3840
mkdir linux
39-
cp target/x86_64-unknown-linux-gnu/release/${{ env.binary }} linux/
41+
cp target/x86_64-unknown-linux-gnu/release/${{ matrix.binary }} linux/
4042
cp -r assets linux/ || true # Try to copy, but ignore if it can't copy if source directory does not exist
4143
4244
- name: Package as a zip
4345
working-directory: ./linux
4446
run: |
45-
zip --recurse-paths ../${{ env.binary }}.zip .
47+
zip --recurse-paths ../${{ matrix.binary }}.zip .
4648
4749
- name: Upload binaries to artifacts
4850
uses: actions/upload-artifact@v3
4951
with:
50-
path: ${{ env.binary }}.zip
51-
name: linux
52+
path: ${{ matrix.binary }}.zip
53+
name: linux-${{ matrix.binary }}
5254
retention-days: 1
5355

5456
- name: Upload binaries to release
5557
if: ${{ env.add_binaries_to_github_release == 'true' }}
5658
uses: svenstaro/upload-release-action@v2
5759
with:
5860
repo_token: ${{ secrets.GITHUB_TOKEN }}
59-
file: ${{ env.binary }}.zip
60-
asset_name: ${{ env.binary }}-linux-${{ steps.get_version.outputs.tag }}.zip
61+
file: ${{ matrix.binary }}.zip
62+
asset_name: ${{ matrix.binary }}-linux-${{ steps.get_version.outputs.tag }}.zip
6163
tag: ${{ github.ref }}
6264
overwrite: true
6365

6466
release-windows:
6567
runs-on: windows-latest
68+
strategy:
69+
matrix:
70+
binary: [client, server]
6671

6772
steps:
6873
- uses: olegtarasov/get-tag@v2.1.2
@@ -76,38 +81,41 @@ jobs:
7681

7782
- name: Build
7883
run: |
79-
cargo build --release --target x86_64-pc-windows-msvc
84+
cargo build --release --target x86_64-pc-windows-msvc --bin ${{ matrix.binary }}
8085
8186
- name: Prepare package
8287
run: |
8388
mkdir windows
84-
cp target/x86_64-pc-windows-msvc/release/${{ env.binary }}.exe windows/
89+
cp target/x86_64-pc-windows-msvc/release/${{ matrix.binary }}.exe windows/
8590
mkdir assets -ea 0 # create the assets directory if it does not exist, it will get ignored in the zip if empty
8691
cp -r assets windows/
8792
8893
- name: Package as a zip
8994
run: |
90-
Compress-Archive -Path windows/* -DestinationPath ${{ env.binary }}.zip
95+
Compress-Archive -Path windows/* -DestinationPath ${{ matrix.binary }}.zip
9196
9297
- name: Upload binaries to artifacts
9398
uses: actions/upload-artifact@v3
9499
with:
95-
path: ${{ env.binary }}.zip
96-
name: windows
100+
path: ${{ matrix.binary }}.zip
101+
name: windows-${{ matrix.binary }}
97102
retention-days: 1
98103

99104
- name: Upload binaries to release
100105
if: ${{ env.add_binaries_to_github_release == 'true' }}
101106
uses: svenstaro/upload-release-action@v2
102107
with:
103108
repo_token: ${{ secrets.GITHUB_TOKEN }}
104-
file: ${{ env.binary }}.zip
105-
asset_name: ${{ env.binary }}-windows-${{ steps.get_version.outputs.tag }}.zip
109+
file: ${{ matrix.binary }}.zip
110+
asset_name: ${{ matrix.binary }}-windows-${{ steps.get_version.outputs.tag }}.zip
106111
tag: ${{ github.ref }}
107112
overwrite: true
108113

109114
release-macOS-intel:
110115
runs-on: macOS-latest
116+
strategy:
117+
matrix:
118+
binary: [client, server]
111119

112120
steps:
113121
- uses: olegtarasov/get-tag@v2.1.2
@@ -125,34 +133,37 @@ jobs:
125133
126134
- name: Build
127135
run: |
128-
cargo build --release --target x86_64-apple-darwin
136+
cargo build --release --target x86_64-apple-darwin --bin ${{ matrix.binary }}
129137
130138
- name: Prepare Package
131139
run: |
132-
mkdir -p ${{ env.binary }}.app/Contents/MacOS
133-
cp target/x86_64-apple-darwin/release/${{ env.binary }} ${{ env.binary }}.app/Contents/MacOS/
134-
cp -r assets ${{ env.binary }}.app/Contents/MacOS/ || true # Try to copy, but ignore if it can't copy if source directory does not exist
135-
hdiutil create -fs HFS+ -volname "${{ env.binary }}" -srcfolder ${{ env.binary }}.app ${{ env.binary }}-macOS-intel.dmg
140+
mkdir -p ${{ matrix.binary }}.app/Contents/MacOS
141+
cp target/x86_64-apple-darwin/release/${{ matrix.binary }} ${{ matrix.binary }}.app/Contents/MacOS/
142+
cp -r assets ${{ matrix.binary }}.app/Contents/MacOS/ || true # Try to copy, but ignore if it can't copy if source directory does not exist
143+
hdiutil create -fs HFS+ -volname "${{ matrix.binary }}" -srcfolder ${{ matrix.binary }}.app ${{ matrix.binary }}-macOS-intel.dmg
136144
137145
- name: Upload binaries to artifacts
138146
uses: actions/upload-artifact@v3
139147
with:
140-
path: ${{ env.binary }}-macOS-intel.dmg
141-
name: macOS-intel
148+
path: ${{ matrix.binary }}-macOS-intel.dmg
149+
name: macOS-intel-${{ matrix.binary }}
142150
retention-days: 1
143151

144152
- name: Upload binaries to release
145153
if: ${{ env.add_binaries_to_github_release == 'true' }}
146154
uses: svenstaro/upload-release-action@v2
147155
with:
148156
repo_token: ${{ secrets.GITHUB_TOKEN }}
149-
file: ${{ env.binary }}-macOS-intel.dmg
150-
asset_name: ${{ env.binary }}-macOS-intel-${{ steps.get_version.outputs.tag }}.dmg
157+
file: ${{ matrix.binary }}-macOS-intel.dmg
158+
asset_name: ${{ matrix.binary }}-macOS-intel-${{ steps.get_version.outputs.tag }}.dmg
151159
tag: ${{ github.ref }}
152160
overwrite: true
153161

154162
release-macOS-apple-silicon:
155163
runs-on: macOS-latest
164+
strategy:
165+
matrix:
166+
binary: [client, server]
156167

157168
steps:
158169
- uses: olegtarasov/get-tag@v2.1.2
@@ -169,33 +180,33 @@ jobs:
169180
170181
- name: Build
171182
run: |
172-
cargo build --release --target aarch64-apple-darwin
183+
cargo build --release --target aarch64-apple-darwin --bin ${{ matrix.binary }}
173184
174185
- name: Prepare Package
175186
run: |
176-
mkdir -p ${{ env.binary }}.app/Contents/MacOS
177-
cp target/aarch64-apple-darwin/release/${{ env.binary }} ${{ env.binary }}.app/Contents/MacOS/
178-
cp -r assets ${{ env.binary }}.app/Contents/MacOS/ || true # Try to copy, but ignore if it can't copy if source directory does not exist
187+
mkdir -p ${{ matrix.binary }}.app/Contents/MacOS
188+
cp target/aarch64-apple-darwin/release/${{ matrix.binary }} ${{ matrix.binary }}.app/Contents/MacOS/
189+
cp -r assets ${{ matrix.binary }}.app/Contents/MacOS/ || true # Try to copy, but ignore if it can't copy if source directory does not exist
179190
- name: Create DMG
180191
run: |
181-
hdiutil create -fs HFS+ -volname "${{ env.binary }}-macOS-apple-silicon" -srcfolder ${{ env.binary }}.app ${{ env.binary }}-macOS-apple-silicon.dmg
192+
hdiutil create -fs HFS+ -volname "${{ matrix.binary }}-macOS-apple-silicon" -srcfolder ${{ matrix.binary }}.app ${{ matrix.binary }}-macOS-apple-silicon.dmg
182193
183194
- name: Verify DMG
184195
run: |
185-
hdiutil verify ${{ env.binary }}-macOS-apple-silicon.dmg
196+
hdiutil verify ${{ matrix.binary }}-macOS-apple-silicon.dmg
186197
- name: Upload binaries to artifacts
187198
uses: actions/upload-artifact@v3
188199
with:
189-
path: ${{ env.binary }}-macOS-apple-silicon.dmg
190-
name: macOS-apple-silicon
200+
path: ${{ matrix.binary }}-macOS-apple-silicon.dmg
201+
name: macOS-apple-silicon-${{ matrix.binary }}
191202
retention-days: 1
192203

193204
- name: Upload binaries to release
194205
if: ${{ env.add_binaries_to_github_release == 'true' }}
195206
uses: svenstaro/upload-release-action@v2
196207
with:
197208
repo_token: ${{ secrets.GITHUB_TOKEN }}
198-
file: ${{ env.binary }}-macOS-apple-silicon.dmg
199-
asset_name: ${{ env.binary }}-macOS-apple-silicon-${{ steps.get_version.outputs.tag }}.dmg
209+
file: ${{ matrix.binary }}-macOS-apple-silicon.dmg
210+
asset_name: ${{ matrix.binary }}-macOS-apple-silicon-${{ steps.get_version.outputs.tag }}.dmg
200211
tag: ${{ github.ref }}
201212
overwrite: true

0 commit comments

Comments
 (0)