From 586255b54e431fc9c9199229fe63e6042ffad9eb Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 16:54:41 -0700 Subject: [PATCH 01/17] add windows signing --- src-tauri/tauri.conf.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 0ab8e29..a700e8a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -50,6 +50,9 @@ "type": "none" } } + }, + "windows": { + "signCommand": "trusted-signing-cli -e https://eus.codesigning.azure.net/ -a CJ-Signing -c cjpais-dev -d Handy %1" } } -} +} \ No newline at end of file From a691bd3a9a92aa37814075e6882fec49d4ebc9dd Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:04:00 -0700 Subject: [PATCH 02/17] try to build every commit on test? --- .github/workflows/main.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 78b0719..d368cf8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,9 @@ -name: "test-on-pr" +name: "test-every-commit" -on: [pull_request] - -# This workflow will build your tauri app without uploading it anywhere. +on: + push: + branches: + - "test-build" jobs: test-tauri: @@ -79,5 +80,8 @@ jobs: APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} with: args: ${{ matrix.args }} From 58e72e38d6a5ca4886b2126fb9cbb2e9d768f752 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:06:15 -0700 Subject: [PATCH 03/17] switch identifier --- src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index a700e8a..de67428 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://schema.tauri.app/config/2", "productName": "Handy", "version": "0.1.0", - "identifier": "com.handy.app", + "identifier": "com.pais.handy", "build": { "beforeDevCommand": "bun run dev", "devUrl": "http://localhost:1420", From 60f1589c97ce881e68c0c7f866908c9b02ef0707 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:09:24 -0700 Subject: [PATCH 04/17] bun install? --- .github/workflows/main.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d368cf8..1ac0153 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,12 +39,10 @@ jobs: if: matrix.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 - # webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2. - # You can remove the one that doesn't apply to your app to speed up the workflow a bit. + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf - name: install frontend dependencies - run: yarn install # change this to npm, pnpm or bun depending on which one you use. + run: bun install # change this to npm, pnpm or bun depending on which one you use. - name: import Apple Developer Certificate # Prevents keychain from locking automatically for 3600 seconds. From ca3bdd4bb910f887c525bd25a001f78cffcad423 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:10:25 -0700 Subject: [PATCH 05/17] use bun not node --- .github/workflows/main.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1ac0153..28ce44f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,10 +24,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: setup node - uses: actions/setup-node@v4 - with: - node-version: lts/* + - uses: oven-sh/setup-bun@v2 - name: install Rust stable uses: dtolnay/rust-toolchain@stable From f5ce1044623c84d1a8dc95a5bea3e3688cceaa15 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:11:24 -0700 Subject: [PATCH 06/17] remove sccache dep --- .cargo/config.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index aecf592..a7b19c9 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1 @@ [build] -rustc-wrapper = "sccache" From 0f61f81717a0419a565bad9dc59b80dc326daf97 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:15:35 -0700 Subject: [PATCH 07/17] on macos only for cert --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28ce44f..2903dae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,6 +42,7 @@ jobs: run: bun install # change this to npm, pnpm or bun depending on which one you use. - name: import Apple Developer Certificate + if: matrix.platform == 'macos-latest' # Prevents keychain from locking automatically for 3600 seconds. env: APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} @@ -58,6 +59,7 @@ jobs: security find-identity -v -p codesigning build.keychain - name: verify certificate + if: matrix.platform == 'macos-latest' run: | CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application") CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') From e31f9f244ba38162078ceb59138ccf52b88eaf23 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:33:58 -0700 Subject: [PATCH 08/17] linux libs, install vulkan on windows/linux --- .github/workflows/main.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2903dae..64fe18e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,7 +36,15 @@ jobs: if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above. run: | sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf + sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev + + - name: Prepare Vulkan SDK (windows and ubuntu) + if: matrix.platform != 'macos-latest' + uses: humbletim/setup-vulkan-sdk@v1.2.1 + with: + vulkan-query-version: 1.4.304.1 + vulkan-components: Vulkan-Headers, Vulkan-Loader + vulkan-use-cache: true - name: install frontend dependencies run: bun install # change this to npm, pnpm or bun depending on which one you use. From 34c492e9efb7049c49a3a1417d6661dc01594555 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:42:14 -0700 Subject: [PATCH 09/17] add Glslang --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64fe18e..40ce004 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: uses: humbletim/setup-vulkan-sdk@v1.2.1 with: vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader + vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang vulkan-use-cache: true - name: install frontend dependencies From 98e6c1b3f502e445baaf98985b5b95a30e0899b6 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 17:45:26 -0700 Subject: [PATCH 10/17] more vulkan --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 40ce004..a3c9956 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: uses: humbletim/setup-vulkan-sdk@v1.2.1 with: vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang + vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang, SPIRV-Tools, SPIRV-Headers vulkan-use-cache: true - name: install frontend dependencies From 23301625677b4f2d1d5279a903bc5a6f90d0f711 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:11:17 -0700 Subject: [PATCH 11/17] diff vulk --- .github/workflows/main.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3c9956..697b28c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,13 +38,11 @@ jobs: sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev - - name: Prepare Vulkan SDK (windows and ubuntu) - if: matrix.platform != 'macos-latest' - uses: humbletim/setup-vulkan-sdk@v1.2.1 + - name: Install Vulkan SDK + uses: humbletim/install-vulkan-sdk@v1.2 with: - vulkan-query-version: 1.4.304.1 - vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang, SPIRV-Tools, SPIRV-Headers - vulkan-use-cache: true + version: 1.4.309.0 + cache: true - name: install frontend dependencies run: bun install # change this to npm, pnpm or bun depending on which one you use. From 4317d7f0b51709344137817a06ff118fe933f954 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:20:04 -0700 Subject: [PATCH 12/17] vulkan ubuntu? --- .github/workflows/main.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 697b28c..ac7da36 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,9 +1,6 @@ name: "test-every-commit" -on: - push: - branches: - - "test-build" +on: workflow_dispatch jobs: test-tauri: @@ -38,11 +35,20 @@ jobs: sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev - - name: Install Vulkan SDK - uses: humbletim/install-vulkan-sdk@v1.2 - with: - version: 1.4.309.0 - cache: true + # - name: Install Vulkan SDK + # uses: humbletim/install-vulkan-sdk@v1.2 + # with: + # version: 1.4.309.0 + # cache: true + + - name: Prepare Vulkan SDK for Ubuntu 22.04 + run: | + wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc + sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list + sudo apt update + sudo apt install vulkan-sdk -y + sudo apt-get install -y mesa-vulkan-drivers + if: ${{ contains(matrix.platform, 'ubuntu-22.04') && contains(matrix.args, 'vulkan') }} - name: install frontend dependencies run: bun install # change this to npm, pnpm or bun depending on which one you use. From ede97cde5e0243f9409d322ccecaffe456d556ee Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:20:54 -0700 Subject: [PATCH 13/17] add windows back --- .github/workflows/main.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac7da36..f0be5b6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,11 +35,12 @@ jobs: sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev - # - name: Install Vulkan SDK - # uses: humbletim/install-vulkan-sdk@v1.2 - # with: - # version: 1.4.309.0 - # cache: true + - name: Install Vulkan SDK + if: matrix.platform == 'windows-latest' # This must match the platform value defined above. + uses: humbletim/install-vulkan-sdk@v1.2 + with: + version: 1.4.309.0 + cache: true - name: Prepare Vulkan SDK for Ubuntu 22.04 run: | From 1e673c27a10b433dfc2ee737e730bce9b2628d18 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:23:00 -0700 Subject: [PATCH 14/17] trusted-signing-cli for windows --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f0be5b6..bd19cc4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,6 +42,10 @@ jobs: version: 1.4.309.0 cache: true + - name: Install trusted-signing-cli + if: matrix.platform == 'windows-latest' # This must match the platform value defined above. + run: cargo install trusted-signing-cli + - name: Prepare Vulkan SDK for Ubuntu 22.04 run: | wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc From bc22b0a43244411ea4d236587e432f1367e96d8a Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:26:39 -0700 Subject: [PATCH 15/17] run --- .github/workflows/main.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bd19cc4..d4e8adf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,10 @@ name: "test-every-commit" -on: workflow_dispatch +# on: workflow_dispatch +on: + push: + branches: + - "test-build" jobs: test-tauri: From dab5462a94c763a71689614617742d6a4f98e032 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:29:17 -0700 Subject: [PATCH 16/17] build for ubuntu --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d4e8adf..8c85f8b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: sudo apt update sudo apt install vulkan-sdk -y sudo apt-get install -y mesa-vulkan-drivers - if: ${{ contains(matrix.platform, 'ubuntu-22.04') && contains(matrix.args, 'vulkan') }} + if: matrix.platform == 'ubuntu-22.04' - name: install frontend dependencies run: bun install # change this to npm, pnpm or bun depending on which one you use. From 0d10b5195e021d67a63bfc81693e0082fb4f4065 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Wed, 25 Jun 2025 18:46:20 -0700 Subject: [PATCH 17/17] final? --- .github/workflows/{main.yml => release.yml} | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) rename .github/workflows/{main.yml => release.yml} (93%) diff --git a/.github/workflows/main.yml b/.github/workflows/release.yml similarity index 93% rename from .github/workflows/main.yml rename to .github/workflows/release.yml index 8c85f8b..600c0b4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/release.yml @@ -1,13 +1,16 @@ -name: "test-every-commit" +name: "Release" -# on: workflow_dispatch on: - push: - branches: - - "test-build" + workflow_dispatch +# on: +# push: +# branches: +# - "test-build" jobs: - test-tauri: + publish-tauri: + permissions: + contents: write strategy: fail-fast: false matrix: @@ -88,7 +91,8 @@ jobs: echo "Certificate imported." # If tagName and releaseId are omitted tauri-action will only build the app and won't try to upload any assets. - - uses: tauri-apps/tauri-action@v0 + - name: Build + uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} APPLE_ID: ${{ secrets.APPLE_ID }} @@ -102,4 +106,7 @@ jobs: AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} with: + tagName: v__VERSION__ + releaseName: "v__VERSION__" args: ${{ matrix.args }} + prerelease: true