Skip to content

Commit 6bdd740

Browse files
authored
Merge branch 'develop' into backend/updater
2 parents b2e0790 + bb21b6c commit 6bdd740

1 file changed

Lines changed: 162 additions & 35 deletions

File tree

.github/workflows/release.yaml

Lines changed: 162 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -285,57 +285,118 @@ jobs:
285285
needs: [build-backend, build-frontend, build-updater, prepare-common-files]
286286
runs-on: ubuntu-latest
287287
steps:
288-
- name: Create release directories
289-
run: |
290-
mkdir -p release
291-
mkdir -p release/backends
292-
mkdir -p release/updaters
293-
mkdir -p release/frontends/ethernet-view
294-
mkdir -p release/frontends/control-station
295-
296288
- name: Download all artifacts
297289
uses: actions/download-artifact@v4
298290
with:
299291
path: artifacts
300292

301-
- name: Organize release files
293+
- name: Create release directories for each platform
302294
run: |
303-
# Copy backends
304-
cp -r artifacts/backend-linux/* release/backends/
305-
cp -r artifacts/backend-windows/* release/backends/
306-
cp -r artifacts/backend-macos/* release/backends/
295+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
307296
308-
# Copy updaters to appropriate folders by platform
309-
mkdir -p release/linux release/windows release/macos release/macos-arm64
297+
# Create directory structure for each platform
298+
mkdir -p release-linux
299+
mkdir -p release-windows
300+
mkdir -p release-macos
301+
mkdir -p release-macos-arm64
302+
303+
- name: Organize Linux release files
304+
run: |
305+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
306+
307+
# Copy Linux backend
308+
cp artifacts/backend-linux/backend-linux-amd64 release-linux/backend
310309
311310
# Copy Linux updater
312-
cp artifacts/updater-linux/updater-linux-amd64 release/linux/updater
311+
cp artifacts/updater-linux/updater-linux-amd64 release-linux/updater
312+
313+
# Copy frontends
314+
mkdir -p release-linux/ethernet-view
315+
mkdir -p release-linux/control-station
316+
cp -r artifacts/ethernet-view/* release-linux/ethernet-view/
317+
cp -r artifacts/control-station/* release-linux/control-station/
318+
319+
# Copy common files
320+
cp -r artifacts/common-files/* release-linux/
321+
322+
# Create Linux release archive
323+
cd release-linux
324+
zip -r ../linux-$VERSION.zip .
325+
326+
- name: Organize Windows release files
327+
run: |
328+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
329+
330+
# Copy Windows backend
331+
cp artifacts/backend-windows/backend-windows-amd64.exe release-windows/backend.exe
313332
314333
# Copy Windows updater
315-
cp artifacts/updater-windows/updater-windows-amd64.exe release/windows/updater.exe
334+
cp artifacts/updater-windows/updater-windows-amd64.exe release-windows/updater.exe
316335
317-
# Copy macOS updaters
318-
cp artifacts/updater-macos/updater-macos-amd64 release/macos/updater
319-
cp artifacts/updater-macos/updater-macos-arm64 release/macos-arm64/updater
336+
# Copy frontends
337+
mkdir -p release-windows/ethernet-view
338+
mkdir -p release-windows/control-station
339+
cp -r artifacts/ethernet-view/* release-windows/ethernet-view/
340+
cp -r artifacts/control-station/* release-windows/control-station/
341+
342+
# Copy common files
343+
cp -r artifacts/common-files/* release-windows/
344+
345+
# Create Windows release archive
346+
cd release-windows
347+
zip -r ../windows-$VERSION.zip .
348+
349+
- name: Organize macOS Intel release files
350+
run: |
351+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
352+
353+
# Copy macOS Intel backend
354+
cp artifacts/backend-macos/backend-macos-amd64 release-macos/backend
355+
356+
# Copy macOS Intel updater
357+
cp artifacts/updater-macos/updater-macos-amd64 release-macos/updater
320358
321359
# Copy frontends
322-
cp -r artifacts/ethernet-view/* release/frontends/ethernet-view/
323-
cp -r artifacts/control-station/* release/frontends/control-station/
360+
mkdir -p release-macos/ethernet-view
361+
mkdir -p release-macos/control-station
362+
cp -r artifacts/ethernet-view/* release-macos/ethernet-view/
363+
cp -r artifacts/control-station/* release-macos/control-station/
324364
325365
# Copy common files
326-
cp -r artifacts/common-files/* release/
366+
cp -r artifacts/common-files/* release-macos/
367+
368+
# Create macOS Intel release archive
369+
cd release-macos
370+
zip -r ../macos-intel-$VERSION.zip .
327371
328-
- name: Create release archive
372+
- name: Organize macOS ARM64 release files
329373
run: |
330374
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
331-
cd release
332-
zip -r ../software-release-$VERSION.zip .
375+
376+
# Copy macOS ARM64 backend
377+
cp artifacts/backend-macos/backend-macos-arm64 release-macos-arm64/backend
378+
379+
# Copy macOS ARM64 updater
380+
cp artifacts/updater-macos/updater-macos-arm64 release-macos-arm64/updater
381+
382+
# Copy frontends
383+
mkdir -p release-macos-arm64/ethernet-view
384+
mkdir -p release-macos-arm64/control-station
385+
cp -r artifacts/ethernet-view/* release-macos-arm64/ethernet-view/
386+
cp -r artifacts/control-station/* release-macos-arm64/control-station/
387+
388+
# Copy common files
389+
cp -r artifacts/common-files/* release-macos-arm64/
390+
391+
# Create macOS ARM64 release archive
392+
cd release-macos-arm64
393+
zip -r ../macos-arm64-$VERSION.zip .
333394
334-
- name: Upload release package
395+
- name: Upload release packages
335396
uses: actions/upload-artifact@v4
336397
with:
337-
name: software-release
338-
path: software-release-*.zip
398+
name: releases
399+
path: "*.zip"
339400
retention-days: 7
340401
compression-level: 9
341402

@@ -351,24 +412,90 @@ jobs:
351412
draft: ${{ github.event.inputs.draft }}
352413
prerelease: false
353414

354-
- name: Upload to workflow dispatch release
415+
- name: Upload Linux package to release
416+
if: github.event_name == 'workflow_dispatch'
417+
uses: actions/upload-release-asset@v1
418+
env:
419+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
420+
with:
421+
upload_url: ${{ steps.create_release.outputs.upload_url }}
422+
asset_path: ./linux-${{ github.event.inputs.version }}.zip
423+
asset_name: linux-${{ github.event.inputs.version }}.zip
424+
asset_content_type: application/zip
425+
426+
- name: Upload Windows package to release
355427
if: github.event_name == 'workflow_dispatch'
356428
uses: actions/upload-release-asset@v1
357429
env:
358430
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
359431
with:
360432
upload_url: ${{ steps.create_release.outputs.upload_url }}
361-
asset_path: ./software-release-${{ github.event.inputs.version }}.zip
362-
asset_name: software-release-${{ github.event.inputs.version }}.zip
433+
asset_path: ./windows-${{ github.event.inputs.version }}.zip
434+
asset_name: windows-${{ github.event.inputs.version }}.zip
435+
asset_content_type: application/zip
436+
437+
- name: Upload macOS Intel package to release
438+
if: github.event_name == 'workflow_dispatch'
439+
uses: actions/upload-release-asset@v1
440+
env:
441+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
442+
with:
443+
upload_url: ${{ steps.create_release.outputs.upload_url }}
444+
asset_path: ./macos-intel-${{ github.event.inputs.version }}.zip
445+
asset_name: macos-intel-${{ github.event.inputs.version }}.zip
446+
asset_content_type: application/zip
447+
448+
- name: Upload macOS ARM64 package to release
449+
if: github.event_name == 'workflow_dispatch'
450+
uses: actions/upload-release-asset@v1
451+
env:
452+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
453+
with:
454+
upload_url: ${{ steps.create_release.outputs.upload_url }}
455+
asset_path: ./macos-arm64-${{ github.event.inputs.version }}.zip
456+
asset_name: macos-arm64-${{ github.event.inputs.version }}.zip
457+
asset_content_type: application/zip
458+
459+
- name: Upload Linux package to existing release
460+
if: github.event_name == 'release'
461+
uses: actions/upload-release-asset@v1
462+
env:
463+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
464+
with:
465+
upload_url: ${{ github.event.release.upload_url }}
466+
asset_path: ./linux-${{ github.event.release.tag_name }}.zip
467+
asset_name: linux-${{ github.event.release.tag_name }}.zip
468+
asset_content_type: application/zip
469+
470+
- name: Upload Windows package to existing release
471+
if: github.event_name == 'release'
472+
uses: actions/upload-release-asset@v1
473+
env:
474+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
475+
with:
476+
upload_url: ${{ github.event.release.upload_url }}
477+
asset_path: ./windows-${{ github.event.release.tag_name }}.zip
478+
asset_name: windows-${{ github.event.release.tag_name }}.zip
479+
asset_content_type: application/zip
480+
481+
- name: Upload macOS Intel package to existing release
482+
if: github.event_name == 'release'
483+
uses: actions/upload-release-asset@v1
484+
env:
485+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
486+
with:
487+
upload_url: ${{ github.event.release.upload_url }}
488+
asset_path: ./macos-intel-${{ github.event.release.tag_name }}.zip
489+
asset_name: macos-intel-${{ github.event.release.tag_name }}.zip
363490
asset_content_type: application/zip
364491

365-
- name: Upload to existing release
492+
- name: Upload macOS ARM64 package to existing release
366493
if: github.event_name == 'release'
367494
uses: actions/upload-release-asset@v1
368495
env:
369496
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
370497
with:
371498
upload_url: ${{ github.event.release.upload_url }}
372-
asset_path: ./software-release-${{ github.event.release.tag_name }}.zip
373-
asset_name: software-release-${{ github.event.release.tag_name }}.zip
499+
asset_path: ./macos-arm64-${{ github.event.release.tag_name }}.zip
500+
asset_name: macos-arm64-${{ github.event.release.tag_name }}.zip
374501
asset_content_type: application/zip

0 commit comments

Comments
 (0)