diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index ff701d3..6b17591 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -9,7 +9,7 @@ on: tag: description: 'Release tag' required: true - default: 'v1.0.2' + default: 'v1.0.3' download_artifacts: description: 'Download latest artifacts from main branch' required: false @@ -147,23 +147,40 @@ jobs: run: | New-Item -ItemType Directory -Path "release-assets" -Force - # Copy Rust binaries directly (GurtCA + Gurty) + # Package Rust binaries (GurtCA + Gurty) foreach ($platform in @("linux", "windows")) { - # Copy GurtCA binaries + $tempDir = "temp-tools-$platform" + New-Item -ItemType Directory -Path $tempDir -Force + + # Copy GurtCA if available if (Test-Path "artifacts/gurtca-$platform") { - Get-ChildItem "artifacts/gurtca-$platform" -File | ForEach-Object { - $newName = $_.BaseName - Copy-Item $_.FullName "release-assets/$newName" -Force + Copy-Item "artifacts/gurtca-$platform/*" $tempDir -Force + } + + # Copy Gurty if available + if (Test-Path "artifacts/gurty-$platform") { + Copy-Item "artifacts/gurty-$platform/*" $tempDir -Force + } + + # Package if we have any files + $files = Get-ChildItem $tempDir -ErrorAction SilentlyContinue + if ($files.Count -gt 0) { + if ($platform -eq "windows") { + Compress-Archive -Path "$tempDir/*" -DestinationPath "release-assets/gurted-tools-$platform.zip" -Force + } else { + # For Linux files, we'll use 7zip if available, otherwise skip tar.gz creation on Windows + if (Get-Command "7z" -ErrorAction SilentlyContinue) { + & "7z" a -ttar "release-assets/gurted-tools-$platform.tar" "$tempDir/*" + & "7z" a -tgzip "release-assets/gurted-tools-$platform.tar.gz" "release-assets/gurted-tools-$platform.tar" + Remove-Item "release-assets/gurted-tools-$platform.tar" -Force + } else { + # Fallback to zip for Linux binaries too + Compress-Archive -Path "$tempDir/*" -DestinationPath "release-assets/gurted-tools-$platform.zip" -Force + } } } - # Copy Gurty binaries - if (Test-Path "artifacts/gurty-$platform") { - Get-ChildItem "artifacts/gurty-$platform" -File | ForEach-Object { - $newName = $_.BaseName - Copy-Item $_.FullName "release-assets/$newName" -Force - } - } + Remove-Item $tempDir -Recurse -Force -ErrorAction SilentlyContinue } # Package Flumi builds @@ -212,17 +229,14 @@ jobs: ## Gurted Release ${{ steps.get_tag.outputs.tag }} This release includes: - - **GurtCA**: Certificate Authority for TLS certificates + - **GurtCA**: CLI tool for obtaining TLS certificates - **Gurty**: CLI tool for managing GURT protocol servers - **Flumi**: The official browser for the GURT ecosystem ### Downloads - - `gurtca`: GurtCA binaries for Linux - - `gurty`: Gurty binaries for Linux - - `gurtca`: GurtCA binaries for Windows - - `gurty`: Gurty binaries for Windows - - `flumi-linux.*`: Contains the Flumi browser for Linux - - `Flumi-Setup-*.exe`: Windows installer for Flumi + - `gurted-tools-*.zip`: Contains GurtCA and Gurty binaries + - `flumi-linux.*`: Contains the Flumi wayfinder application for Linux + - `Flumi-Setup-*.exe`: Windows installer for Flumi (recommended for Windows users) ### Platform Support - Linux (x86_64) @@ -234,4 +248,3 @@ jobs: prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -