From ebe56f53303d296891aaa7ee6ed878df5c13234d Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 10:31:54 +0200 Subject: [PATCH 01/11] Upload Linux AppImage after successful build --- .github/workflows/build.yml | 25 ++++++++++++++++--------- .gitignore | 3 ++- package-lock.json | 14 -------------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a7ed7a6..14e58b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,19 +33,26 @@ jobs: steps: - uses: actions/checkout@v4 - - name: install dependencies (ubuntu only) + - name: Get App Version from Cargo.toml + id: drop_version + uses: dante-signal31/rust-app-version@v1.2.0 + with: + cargo_toml_folder: ./src-tauri + + - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - - name: setup node + + - name: Setup Node uses: actions/setup-node@v4 with: node-version: lts/* cache: 'npm' # Set this to npm, yarn or pnpm. - - name: install Rust stable + - name: Install Rust stable uses: dtolnay/rust-toolchain@stable with: # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds. @@ -54,7 +61,7 @@ jobs: - name: Rust cache uses: swatinem/rust-cache@v2 - - name: install frontend dependencies + - name: Install Frontend Dependencies # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too. run: npm install # change this to npm or pnpm depending on which one you use. @@ -79,18 +86,18 @@ jobs: uses: actions/upload-artifact@v4 with: name: ark-drop.AppImage - path: ./target/release/bundle/appimage/ark-drop_*_amd64.AppImage + path: ./target/release/bundle/appimage/ark-drop_${{ steps.drop_version.outputs.app_version }}_amd64.AppImage - - name: Upload MacOS Build (ark-drop.app) + - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4 if: matrix.settings.platform == 'macos-latest' with: - name: ark-drop-MacOS.zip + name: ark-drop-macOS.zip path: ./target/universal-apple-darwin/release/bundle/macos - - name: Upload MacOS Build (ark-drop.dmg) + - name: Upload macOS Build (ark-drop.dmg) uses: actions/upload-artifact@v4 if: matrix.settings.platform == 'macos-latest' with: - name: ark-drop-MacOS-dmg.zip + name: ark-drop-macOS-dmg.zip path: ./target/universal-apple-darwin/release/bundle/dmg diff --git a/.gitignore b/.gitignore index 9bc7abc..57d4cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ vite.config.js.timestamp-* vite.config.ts.timestamp-* /src-tauri/.ark-drop-data-* target -.vscode \ No newline at end of file +.vscode +.idea \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d618dd6..ee9494d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2911,20 +2911,6 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "license": "ISC" }, - "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, "node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", From 04ebd00f689180c5505ffe1c4adf20b388f11840 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 10:36:08 +0200 Subject: [PATCH 02/11] Fix Cargo.toml folder --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14e58b9..e3c90be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,7 @@ jobs: id: drop_version uses: dante-signal31/rust-app-version@v1.2.0 with: - cargo_toml_folder: ./src-tauri + cargo_toml_folder: src-tauri/ - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. From 34f3c1775d3d5610f6fffc56052b4339f46ad5ab Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 10:38:33 +0200 Subject: [PATCH 03/11] Fix version fetching --- src-tauri/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 22f7901..2ccc9d9 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -50,4 +50,3 @@ icon = [ # If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes. # DO NOT REMOVE!! custom-protocol = ["tauri/custom-protocol"] - From 960c9f374791b8f497d608a45a68cfdcace512c7 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 11:03:28 +0200 Subject: [PATCH 04/11] Remove app version gh action --- .github/workflows/build.yml | 7 +++---- src-tauri/Cargo.toml | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3c90be..f20ff7b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,9 +35,9 @@ jobs: - name: Get App Version from Cargo.toml id: drop_version - uses: dante-signal31/rust-app-version@v1.2.0 - with: - cargo_toml_folder: src-tauri/ + run: | + APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') + echo "app_version=$APP_VERSION" >> "$GITHUB_OUTPUT - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. @@ -45,7 +45,6 @@ jobs: sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - - name: Setup Node uses: actions/setup-node@v4 with: diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 2ccc9d9..2696e65 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -13,7 +13,6 @@ edition = "2021" # This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 name = "ark_drop_lib" crate-type = ["staticlib", "cdylib", "rlib"] - [build-dependencies] tauri-build = { version = "2.5.1", features = [] } From 41ddabbc8a3c42f0f5be0b8e29197399aa4226e4 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 11:13:16 +0200 Subject: [PATCH 05/11] Fix app_version appending --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f20ff7b..e154747 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,7 @@ jobs: id: drop_version run: | APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') - echo "app_version=$APP_VERSION" >> "$GITHUB_OUTPUT + echo "app_version=$APP_VERSION" >> "$GITHUB_OUTPUT" - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. From d74b89509c236413d83e3544a1fa2541222e2eff Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 11:36:57 +0200 Subject: [PATCH 06/11] Apply app_version fetch to Linux only --- .github/workflows/build.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e154747..06e4562 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,12 +33,6 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Get App Version from Cargo.toml - id: drop_version - run: | - APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') - echo "app_version=$APP_VERSION" >> "$GITHUB_OUTPUT" - - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. run: | @@ -83,9 +77,12 @@ jobs: - name: Upload Linux AppImage if: matrix.settings.platform == 'ubuntu-22.04' uses: actions/upload-artifact@v4 + env: + run: | + export APP_VERSION = $(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') with: name: ark-drop.AppImage - path: ./target/release/bundle/appimage/ark-drop_${{ steps.drop_version.outputs.app_version }}_amd64.AppImage + path: ./target/release/bundle/appimage/ark-drop_${{ env.APP_VERSION }}_amd64.AppImage - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4 From 48e75cdb8175972f3e9bdf6a59cdd67fa1c6caa9 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 11:41:33 +0200 Subject: [PATCH 07/11] Fix app name in workflow upload --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 06e4562..125e95c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,7 +82,7 @@ jobs: export APP_VERSION = $(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') with: name: ark-drop.AppImage - path: ./target/release/bundle/appimage/ark-drop_${{ env.APP_VERSION }}_amd64.AppImage + path: ./target/release/bundle/appimage/ARK Drop_${{ env.APP_VERSION }}_amd64.AppImage - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4 From 1ea108170f99529a766fc7db98b15fc5110e2446 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 12:09:36 +0200 Subject: [PATCH 08/11] Fix version fetch --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 125e95c..b9d7deb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,7 +79,8 @@ jobs: uses: actions/upload-artifact@v4 env: run: | - export APP_VERSION = $(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') + export APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') + echo $APP_VERSION >> $GITHUB_ENV with: name: ark-drop.AppImage path: ./target/release/bundle/appimage/ARK Drop_${{ env.APP_VERSION }}_amd64.AppImage From 21626d2e98e878270b23637704acc31023e1611d Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 12:26:06 +0200 Subject: [PATCH 09/11] Fix version fetch --- .github/workflows/build.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9d7deb..5bdd16b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,13 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Fetch App Version from Cargo.toml + if: matrix.settings.platform == 'ubuntu-22.04' + id: drop_version + run: | + export APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') + echo "app_version=$APP_VERSION" >> "$GITHUB_OUTPUT" + - name: Install Dependencies (Ubuntu only) if: matrix.settings.platform == 'ubuntu-22.04' # This must match the platform value defined above. run: | @@ -77,13 +84,9 @@ jobs: - name: Upload Linux AppImage if: matrix.settings.platform == 'ubuntu-22.04' uses: actions/upload-artifact@v4 - env: - run: | - export APP_VERSION=$(grep -E '^version\s*=' src-tauri/Cargo.toml | sed -E 's/version\s*=\s*"([^"]+)"/\1/') - echo $APP_VERSION >> $GITHUB_ENV with: name: ark-drop.AppImage - path: ./target/release/bundle/appimage/ARK Drop_${{ env.APP_VERSION }}_amd64.AppImage + path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.AppImage - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4 From 9ea12f43e966238f29e6a52cd2fd6813265c4c65 Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 12:41:17 +0200 Subject: [PATCH 10/11] Add more Linux binaries --- .github/workflows/build.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bdd16b..9f88735 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,6 +88,20 @@ jobs: name: ark-drop.AppImage path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.AppImage + - name: Upload Linux Debian Binary + if: matrix.settings.platform == 'ubuntu-22.04' + uses: actions/upload-artifact@v4 + with: + name: ark-drop.deb + path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.deb + + - name: Upload Linux RPM Binary + if: matrix.settings.platform == 'ubuntu-22.04' + uses: actions/upload-artifact@v4 + with: + name: ark-drop.rpm + path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.rpm + - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4 if: matrix.settings.platform == 'macos-latest' From 450fa92257838de9aa3caf5fe4f60d4a02ad258c Mon Sep 17 00:00:00 2001 From: Shubert Munthali Date: Fri, 21 Nov 2025 13:37:41 +0200 Subject: [PATCH 11/11] Add more Linux binaries --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9f88735..fa054c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -93,14 +93,14 @@ jobs: uses: actions/upload-artifact@v4 with: name: ark-drop.deb - path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.deb + path: ./target/release/bundle/deb/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.deb - name: Upload Linux RPM Binary if: matrix.settings.platform == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: name: ark-drop.rpm - path: ./target/release/bundle/appimage/ARK Drop_${{ steps.drop_version.outputs.app_version }}_amd64.rpm + path: ./target/release/bundle/rpm/ARK Drop-${{ steps.drop_version.outputs.app_version }}-1.x86_64.rpm - name: Upload macOS Build (ark-drop.app) uses: actions/upload-artifact@v4