Skip to content

Commit 1746489

Browse files
committed
fix release structure in release.yaml
1 parent d6b8456 commit 1746489

1 file changed

Lines changed: 159 additions & 34 deletions

File tree

.github/workflows/release.yaml

Lines changed: 159 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -285,56 +285,115 @@ 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+
# Setup frontend directories for each platform
304+
for platform in release-linux release-windows release-macos release-macos-arm64; do
305+
mkdir -p $platform/frontends/ethernet-view
306+
mkdir -p $platform/frontends/control-station
307+
done
308+
309+
- name: Organize Linux release files
310+
run: |
311+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
312+
313+
# Copy Linux backend
314+
cp artifacts/backend-linux/backend-linux-amd64 release-linux/backend
310315
311316
# Copy Linux updater
312-
cp artifacts/updater-linux/updater-linux-amd64 release/linux/updater
317+
cp artifacts/updater-linux/updater-linux-amd64 release-linux/updater
318+
319+
# Copy frontends
320+
cp -r artifacts/ethernet-view/* release-linux/frontends/ethernet-view/
321+
cp -r artifacts/control-station/* release-linux/frontends/control-station/
322+
323+
# Copy common files
324+
cp -r artifacts/common-files/* release-linux/
325+
326+
# Create Linux release archive
327+
cd release-linux
328+
zip -r ../software-release-linux-$VERSION.zip .
329+
330+
- name: Organize Windows release files
331+
run: |
332+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
333+
334+
# Copy Windows backend
335+
cp artifacts/backend-windows/backend-windows-amd64.exe release-windows/backend.exe
313336
314337
# Copy Windows updater
315-
cp artifacts/updater-windows/updater-windows-amd64.exe release/windows/updater.exe
338+
cp artifacts/updater-windows/updater-windows-amd64.exe release-windows/updater.exe
316339
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
340+
# Copy frontends
341+
cp -r artifacts/ethernet-view/* release-windows/frontends/ethernet-view/
342+
cp -r artifacts/control-station/* release-windows/frontends/control-station/
343+
344+
# Copy common files
345+
cp -r artifacts/common-files/* release-windows/
346+
347+
# Create Windows release archive
348+
cd release-windows
349+
zip -r ../software-release-windows-$VERSION.zip .
350+
351+
- name: Organize macOS Intel release files
352+
run: |
353+
VERSION="${{ github.event.inputs.version || github.event.release.tag_name || 'latest' }}"
354+
355+
# Copy macOS Intel backend
356+
cp artifacts/backend-macos/backend-macos-amd64 release-macos/backend
357+
358+
# Copy macOS Intel updater
359+
cp artifacts/updater-macos/updater-macos-amd64 release-macos/updater
320360
321361
# Copy frontends
322-
cp -r artifacts/ethernet-view/* release/frontends/ethernet-view/
323-
cp -r artifacts/control-station/* release/frontends/control-station/
362+
cp -r artifacts/ethernet-view/* release-macos/frontends/ethernet-view/
363+
cp -r artifacts/control-station/* release-macos/frontends/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 ../software-release-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+
cp -r artifacts/ethernet-view/* release-macos-arm64/frontends/ethernet-view/
384+
cp -r artifacts/control-station/* release-macos-arm64/frontends/control-station/
385+
386+
# Copy common files
387+
cp -r artifacts/common-files/* release-macos-arm64/
388+
389+
# Create macOS ARM64 release archive
390+
cd release-macos-arm64
391+
zip -r ../software-release-macos-arm64-$VERSION.zip .
333392
334-
- name: Upload release package
393+
- name: Upload release packages
335394
uses: actions/upload-artifact@v4
336395
with:
337-
name: software-release
396+
name: software-releases
338397
path: software-release-*.zip
339398
retention-days: 7
340399
compression-level: 9
@@ -351,24 +410,90 @@ jobs:
351410
draft: ${{ github.event.inputs.draft }}
352411
prerelease: false
353412

354-
- name: Upload to workflow dispatch release
413+
- name: Upload Linux package to release
414+
if: github.event_name == 'workflow_dispatch'
415+
uses: actions/upload-release-asset@v1
416+
env:
417+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
418+
with:
419+
upload_url: ${{ steps.create_release.outputs.upload_url }}
420+
asset_path: ./software-release-linux-${{ github.event.inputs.version }}.zip
421+
asset_name: software-release-linux-${{ github.event.inputs.version }}.zip
422+
asset_content_type: application/zip
423+
424+
- name: Upload Windows package to release
355425
if: github.event_name == 'workflow_dispatch'
356426
uses: actions/upload-release-asset@v1
357427
env:
358428
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
359429
with:
360430
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
431+
asset_path: ./software-release-windows-${{ github.event.inputs.version }}.zip
432+
asset_name: software-release-windows-${{ github.event.inputs.version }}.zip
433+
asset_content_type: application/zip
434+
435+
- name: Upload macOS Intel package to release
436+
if: github.event_name == 'workflow_dispatch'
437+
uses: actions/upload-release-asset@v1
438+
env:
439+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
440+
with:
441+
upload_url: ${{ steps.create_release.outputs.upload_url }}
442+
asset_path: ./software-release-macos-intel-${{ github.event.inputs.version }}.zip
443+
asset_name: software-release-macos-intel-${{ github.event.inputs.version }}.zip
444+
asset_content_type: application/zip
445+
446+
- name: Upload macOS ARM64 package to release
447+
if: github.event_name == 'workflow_dispatch'
448+
uses: actions/upload-release-asset@v1
449+
env:
450+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
451+
with:
452+
upload_url: ${{ steps.create_release.outputs.upload_url }}
453+
asset_path: ./software-release-macos-arm64-${{ github.event.inputs.version }}.zip
454+
asset_name: software-release-macos-arm64-${{ github.event.inputs.version }}.zip
455+
asset_content_type: application/zip
456+
457+
- name: Upload Linux package to existing release
458+
if: github.event_name == 'release'
459+
uses: actions/upload-release-asset@v1
460+
env:
461+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
462+
with:
463+
upload_url: ${{ github.event.release.upload_url }}
464+
asset_path: ./software-release-linux-${{ github.event.release.tag_name }}.zip
465+
asset_name: software-release-linux-${{ github.event.release.tag_name }}.zip
466+
asset_content_type: application/zip
467+
468+
- name: Upload Windows package to existing release
469+
if: github.event_name == 'release'
470+
uses: actions/upload-release-asset@v1
471+
env:
472+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
473+
with:
474+
upload_url: ${{ github.event.release.upload_url }}
475+
asset_path: ./software-release-windows-${{ github.event.release.tag_name }}.zip
476+
asset_name: software-release-windows-${{ github.event.release.tag_name }}.zip
477+
asset_content_type: application/zip
478+
479+
- name: Upload macOS Intel package to existing release
480+
if: github.event_name == 'release'
481+
uses: actions/upload-release-asset@v1
482+
env:
483+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
484+
with:
485+
upload_url: ${{ github.event.release.upload_url }}
486+
asset_path: ./software-release-macos-intel-${{ github.event.release.tag_name }}.zip
487+
asset_name: software-release-macos-intel-${{ github.event.release.tag_name }}.zip
363488
asset_content_type: application/zip
364489

365-
- name: Upload to existing release
490+
- name: Upload macOS ARM64 package to existing release
366491
if: github.event_name == 'release'
367492
uses: actions/upload-release-asset@v1
368493
env:
369494
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
370495
with:
371496
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
497+
asset_path: ./software-release-macos-arm64-${{ github.event.release.tag_name }}.zip
498+
asset_name: software-release-macos-arm64-${{ github.event.release.tag_name }}.zip
374499
asset_content_type: application/zip

0 commit comments

Comments
 (0)