Skip to content

Commit d00bc42

Browse files
authored
fix: use tarballs to maintain unix file perms (AscensionGameDev#2104)
* fix: use tarballs to maintain unix file perms * windows sucks part 1 of many * windows sucks part 2 of many * fix: correct paths for linux/osx, add la to ls * windows sucks part 3 of many
1 parent cb65446 commit d00bc42

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

.github/workflows/build.yml

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787

8888
- name: Debug files on disk
8989
if: inputs.workflowDebug == true
90-
run: ls -R .
90+
run: ls -laR .
9191

9292
- name: Upload keys
9393
uses: actions/upload-artifact@v3
@@ -144,25 +144,25 @@ jobs:
144144
path: ./Intersect.Network/bin/Release/keys/
145145

146146
- name: Debug keys
147-
run: ls -R ./Intersect.Network/bin/Release/keys
147+
run: ls -laR ./Intersect.Network/bin/Release/keys
148148

149149
- name: Build solution
150150
if: steps.cache-binaries.outputs.cache-hit != 'true' || inputs.forceBuild == true || inputs.forceRestore == true
151151
run: dotnet publish Intersect.sln --sc -r linux-x64 -p:Configuration=Release -p:PackageVersion=${{ env.VERSION_PREFIX }}${{ env.VERSION_SUFFIX }}.${{ github.run_number }}+build.${{ github.sha }} -p:Version=${{ env.VERSION_PREFIX }}.${{ github.run_number }}
152152

153+
- name: Tarball artifacts to maintain unix file permissions
154+
run: tar -cvf linux.tar Intersect.Client/bin/Release/*/*/publish Intersect.Server/bin/Release/*/*/publish
155+
153156
- name: Debug files on disk
154157
if: inputs.workflowDebug == true
155-
run: ls -R .
158+
run: ls -laR .
156159

157160
- name: Upload artifacts
158161
uses: actions/upload-artifact@v3
159162
with:
160163
if-no-files-found: error
161164
name: engine
162-
path: |
163-
./Intersect.Client/bin/Release/*/*/publish
164-
./Intersect.Editor/bin/Release/*/*/publish
165-
./Intersect.Server/bin/Release/*/*/publish
165+
path: linux.tar
166166

167167
build-macos:
168168
name: Build for MacOS
@@ -212,25 +212,25 @@ jobs:
212212
path: ./Intersect.Network/bin/Release/keys/
213213

214214
- name: Debug keys
215-
run: ls -R ./Intersect.Network/bin/Release/keys
215+
run: ls -laR ./Intersect.Network/bin/Release/keys
216216

217217
- name: Build solution
218218
if: steps.cache-binaries.outputs.cache-hit != 'true' || inputs.forceBuild == true || inputs.forceRestore == true
219219
run: dotnet publish Intersect.sln --sc -r osx-x64 -p:Configuration=Release -p:PackageVersion=${{ env.VERSION_PREFIX }}${{ env.VERSION_SUFFIX }}.${{ github.run_number }}+build.${{ github.sha }} -p:Version=${{ env.VERSION_PREFIX }}.${{ github.run_number }}
220220

221+
- name: Tarball artifacts to maintain unix file permissions
222+
run: tar -cvf osx.tar Intersect.Client/bin/Release/*/*/publish Intersect.Server/bin/Release/*/*/publish
223+
221224
- name: Debug files on disk
222225
if: inputs.workflowDebug == true
223-
run: ls -R .
226+
run: ls -laR .
224227

225228
- name: Upload artifacts
226229
uses: actions/upload-artifact@v3
227230
with:
228231
if-no-files-found: error
229232
name: engine
230-
path: |
231-
./Intersect.Client/bin/Release/*/*/publish
232-
./Intersect.Editor/bin/Release/*/*/publish
233-
./Intersect.Server/bin/Release/*/*/publish
233+
path: osx.tar
234234

235235
build-windows:
236236
name: Build for Windows
@@ -280,25 +280,28 @@ jobs:
280280
path: ./Intersect.Network/bin/Release/keys/
281281

282282
- name: Debug keys
283-
run: ls -R ./Intersect.Network/bin/Release/keys
283+
run: ls -laR ./Intersect.Network/bin/Release/keys
284+
shell: bash
284285

285286
- name: Build solution
286287
if: steps.cache-binaries.outputs.cache-hit != 'true' || inputs.forceBuild == true || inputs.forceRestore == true
287288
run: dotnet publish Intersect.sln --sc -r win-x64 -p:Configuration=Release -p:PackageVersion=${{ env.VERSION_PREFIX }}${{ env.VERSION_SUFFIX }}.${{ github.run_number }}+build.${{ github.sha }} -p:Version=${{ env.VERSION_PREFIX }}.${{ github.run_number }}
288289

290+
- name: Tarball artifacts to maintain unix file permissions
291+
run: tar -cvf win.tar Intersect.Client/bin/Release/*/*/publish Intersect.Editor/bin/Release/*/*/publish Intersect.Server/bin/Release/*/*/publish
292+
shell: bash
293+
289294
- name: Debug files on disk
290295
if: inputs.workflowDebug == true
291-
run: ls -R .
296+
run: ls -laR .
297+
shell: bash
292298

293299
- name: Upload artifacts
294300
uses: actions/upload-artifact@v3
295301
with:
296302
if-no-files-found: error
297303
name: engine
298-
path: |
299-
./Intersect.Client/bin/Release/*/*/publish
300-
./Intersect.Editor/bin/Release/*/*/publish
301-
./Intersect.Server/bin/Release/*/*/publish
304+
path: win.tar
302305

303306
debug-build-artifacts:
304307
name: Debug Build Artifacts
@@ -312,8 +315,14 @@ jobs:
312315
name: engine
313316
path: .
314317

318+
- name: Extract build archives
319+
run: |
320+
tar -xvf linux.tar
321+
tar -xvf osx.tar
322+
tar -xvf win.tar
323+
315324
- name: Debug output
316-
run: ls -R .
325+
run: ls -laR .
317326

318327
publish-github:
319328
name: Publish GitHub Release
@@ -330,6 +339,12 @@ jobs:
330339
name: engine
331340
path: .
332341

342+
- name: Extract build archives
343+
run: |
344+
tar -xvf linux.tar
345+
tar -xvf osx.tar
346+
tar -xvf win.tar
347+
333348
- name: Checkout assets main_upgrade branch
334349
uses: actions/checkout@v4
335350
with:
@@ -356,7 +371,7 @@ jobs:
356371

357372
- name: Debug packaging output
358373
if: inputs.packagingDebug == true
359-
run: ls -R ./dist
374+
run: ls -laR ./dist
360375

361376
- name: Publish GitHub Release
362377
if: inputs.packagingDebug != true

0 commit comments

Comments
 (0)