From 034f865ad49311bb69800db042444b636f9f03db Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 23 Nov 2025 09:28:31 +0000 Subject: [PATCH] Standardize artifact naming with architecture info - Update desktop_cd workflow to use consistent naming: - macOS: hyprnote-macos-aarch64.dmg - Linux: hyprnote-linux-x86_64.AppImage - Update S3 paths and GitHub release artifacts - Add Linux download support to web app - Update VersionPlatform type to include appimage-x86_64 This provides consistency across release and staging builds, includes architecture information for clarity, and aligns with Crabnebula's platform naming conventions. Co-Authored-By: yujonglee --- .github/workflows/desktop_cd.yaml | 24 ++++++++++++------------ apps/web/content-collections.ts | 3 ++- apps/web/src/scripts/versioning.ts | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.github/workflows/desktop_cd.yaml b/.github/workflows/desktop_cd.yaml index d8b67e112..4ee31212d 100644 --- a/.github/workflows/desktop_cd.yaml +++ b/.github/workflows/desktop_cd.yaml @@ -144,9 +144,9 @@ jobs: - if: ${{ inputs.channel != 'staging' }} run: | DMG_FILE=$(find "apps/desktop/src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/" -name "*.dmg" -type f) - cp "$DMG_FILE" "hyprnote.dmg" - aws s3 cp "hyprnote.dmg" \ - "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote.dmg" \ + cp "$DMG_FILE" "hyprnote-macos-aarch64.dmg" + aws s3 cp "hyprnote-macos-aarch64.dmg" \ + "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote-macos-aarch64.dmg" \ --endpoint-url ${{ secrets.CLOUDFLARE_R2_ENDPOINT_URL }} \ --region auto env: @@ -224,9 +224,9 @@ jobs: - if: ${{ inputs.channel != 'staging' }} run: | APPIMAGE_FILE=$(find "apps/desktop/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/" -name "*.AppImage" -type f) - cp "$APPIMAGE_FILE" "hyprnote.AppImage" - aws s3 cp "hyprnote.AppImage" \ - "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote.AppImage" \ + cp "$APPIMAGE_FILE" "hyprnote-linux-x86_64.AppImage" + aws s3 cp "hyprnote-linux-x86_64.AppImage" \ + "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote-linux-x86_64.AppImage" \ --endpoint-url ${{ secrets.CLOUDFLARE_R2_ENDPOINT_URL }} \ --region auto env: @@ -259,8 +259,8 @@ jobs: - name: Download macOS DMG from S3 run: | aws s3 cp \ - "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote.dmg" \ - "hyprnote.dmg" \ + "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote-macos-aarch64.dmg" \ + "hyprnote-macos-aarch64.dmg" \ --endpoint-url ${{ secrets.CLOUDFLARE_R2_ENDPOINT_URL }} \ --region auto env: @@ -270,8 +270,8 @@ jobs: if: ${{ needs.build-linux.result == 'success' }} run: | aws s3 cp \ - "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote.AppImage" \ - "hyprnote.AppImage" \ + "s3://hyprnote-build/desktop/${{ needs.compute-version.outputs.version }}/hyprnote-linux-x86_64.AppImage" \ + "hyprnote-linux-x86_64.AppImage" \ --endpoint-url ${{ secrets.CLOUDFLARE_R2_ENDPOINT_URL }} \ --region auto env: @@ -289,7 +289,7 @@ jobs: tag: desktop_v${{ needs.compute-version.outputs.version }} name: desktop_v${{ needs.compute-version.outputs.version }} body: "https://hyprnote.com/changelog/${{ needs.compute-version.outputs.version }}" - artifacts: "hyprnote.dmg" + artifacts: "hyprnote-macos-aarch64.dmg" - name: Create GitHub release with macOS + Linux if: ${{ needs.build-linux.result == 'success' }} uses: ncipollo/release-action@v1 @@ -297,4 +297,4 @@ jobs: tag: desktop_v${{ needs.compute-version.outputs.version }} name: desktop_v${{ needs.compute-version.outputs.version }} body: "https://hyprnote.com/changelog/${{ needs.compute-version.outputs.version }}" - artifacts: "hyprnote.dmg,hyprnote.AppImage" + artifacts: "hyprnote-macos-aarch64.dmg,hyprnote-linux-x86_64.AppImage" diff --git a/apps/web/content-collections.ts b/apps/web/content-collections.ts index 4d59748b4..33f60d417 100644 --- a/apps/web/content-collections.ts +++ b/apps/web/content-collections.ts @@ -110,7 +110,8 @@ const changelog = defineCollection({ const tag = `desktop_v${version}`; const downloads: Record = { - "dmg-aarch64": `https://github.com/fastrepl/hyprnote/releases/download/${tag}/hyprnote.dmg`, + "dmg-aarch64": `https://github.com/fastrepl/hyprnote/releases/download/${tag}/hyprnote-macos-aarch64.dmg`, + "appimage-x86_64": `https://github.com/fastrepl/hyprnote/releases/download/${tag}/hyprnote-linux-x86_64.AppImage`, }; return { diff --git a/apps/web/src/scripts/versioning.ts b/apps/web/src/scripts/versioning.ts index 4f8ae06f7..0a1312318 100644 --- a/apps/web/src/scripts/versioning.ts +++ b/apps/web/src/scripts/versioning.ts @@ -4,7 +4,7 @@ import { join } from "node:path"; type VersionChannel = "stable" | "nightly" | "staging"; // https://docs.crabnebula.dev/cloud/cli/upload-assets/#public-platform---public-platform -export type VersionPlatform = "dmg-aarch64"; +export type VersionPlatform = "dmg-aarch64" | "appimage-x86_64"; export type VersionDownloads = Partial>;