From 0a13f7b6bcfeef69aed86474f85ba06bfcc62051 Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:04:50 -0500 Subject: [PATCH 01/12] commit linux / macos and windows nightly workflows --- .github/workflows/linux-nightly.yml | 73 +++++++++++++++++++++++++++ .github/workflows/macos-nightly.yml | 68 +++++++++++++++++++++++++ .github/workflows/windows-nightly.yml | 61 ++++++++++++++++++++++ 3 files changed, 202 insertions(+) create mode 100644 .github/workflows/linux-nightly.yml create mode 100644 .github/workflows/macos-nightly.yml create mode 100644 .github/workflows/windows-nightly.yml diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml new file mode 100644 index 0000000..879e822 --- /dev/null +++ b/.github/workflows/linux-nightly.yml @@ -0,0 +1,73 @@ +name: Linux (x86) Nightly Build + +on: + schedule: + - cron: '0 0 * * *' # Runs at 00:00 UTC every day + workflow_dispatch: # Allows manual triggering + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + name: Build Linux Packages + runs-on: ubuntu-20.04 # Using 20.04 for broader compatibility + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: 'npm' + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install Linux Dependencies + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + + - name: Install Dependencies + run: | + npm install + + - name: Build Frontend + run: npm run build + + - name: Build AppImage (x86_64) + run: | + echo "Building AppImage for x86_64..." + npm run tauri build -- --target x86_64-unknown-linux-gnu --bundles appimage + + - name: Build Debian Package (x86_64) + run: | + echo "Building Debian package for x86_64..." + npm run tauri build -- --target x86_64-unknown-linux-gnu --bundles deb + + - name: Upload AppImage + uses: actions/upload-artifact@v4 + with: + name: linux-appimage + path: src-tauri/target/release/bundle/appimage/*.AppImage + + - name: Upload Debian Package + uses: actions/upload-artifact@v4 + with: + name: linux-deb + path: src-tauri/target/release/bundle/deb/*.deb + + - name: Create Release + if: github.event_name == 'schedule' # Only create release for scheduled builds + uses: softprops/action-gh-release@v1 + with: + name: Linux Nightly Build ${{ github.sha }} + tag_name: linux-nightly-${{ github.sha }} + files: | + src-tauri/target/release/bundle/appimage/*.AppImage + src-tauri/target/release/bundle/deb/*.deb + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml new file mode 100644 index 0000000..f752186 --- /dev/null +++ b/.github/workflows/macos-nightly.yml @@ -0,0 +1,68 @@ +name: MacOS Nightly Build + +on: + workflow_dispatch: # Allows manual triggering + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + name: Build MacOS Apps + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: 'npm' + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install Dependencies + run: | + rustup target add x86_64-apple-darwin + rustup target add aarch64-apple-darwin + npm install + + - name: Build Frontend + run: npm run build + + - name: Build for Intel Mac + run: | + echo "Building for x86_64..." + npm run tauri build -- --target x86_64-apple-darwin --bundles dmg + + - name: Build for Apple Silicon + run: | + echo "Building for aarch64..." + npm run tauri build -- --target aarch64-apple-darwin --bundles dmg + + - name: Upload Intel Build + uses: actions/upload-artifact@v4 + with: + name: macos-intel-build + path: src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/*.dmg + + - name: Upload Apple Silicon Build + uses: actions/upload-artifact@v4 + with: + name: macos-apple-silicon-build + path: src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg + + - name: Create Release + if: github.event_name == 'schedule' # Only create release for scheduled builds + uses: softprops/action-gh-release@v1 + with: + name: Nightly Build ${{ github.sha }} + tag_name: nightly-${{ github.sha }} + files: | + src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/*.dmg + src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml new file mode 100644 index 0000000..49f5c5e --- /dev/null +++ b/.github/workflows/windows-nightly.yml @@ -0,0 +1,61 @@ +name: Windows Nightly Build + +on: + schedule: + - cron: '0 0 * * *' # Runs at 00:00 UTC every day + workflow_dispatch: # Allows manual triggering + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + name: Build Windows Executable + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: 'npm' + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install WebView2 + run: | + $WebView2InstallPath = "$env:TEMP\MicrosoftEdgeWebview2Setup.exe" + Invoke-WebRequest "https://go.microsoft.com/fwlink/p/?LinkId=2124703" -OutFile $WebView2InstallPath + Start-Process -FilePath $WebView2InstallPath -Args "/silent /install" -Wait + + - name: Install Dependencies + run: | + npm install + + - name: Build Frontend + run: npm run build + + - name: Build Windows Executable + run: | + echo "Building Windows executable..." + npm run tauri build -- --target x86_64-pc-windows-msvc + + - name: Upload Executable + uses: actions/upload-artifact@v4 + with: + name: windows-exe + path: src-tauri/target/release/*.exe + + - name: Create Release + if: github.event_name == 'schedule' # Only create release for scheduled builds + uses: softprops/action-gh-release@v1 + with: + name: Windows Nightly Build ${{ github.sha }} + tag_name: windows-nightly-${{ github.sha }} + files: src-tauri/target/release/*.exe + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From d8ee612247b3f746371902e4ec8ccaf4ffc94e2f Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:10:04 -0500 Subject: [PATCH 02/12] added missing dependencies --- .github/workflows/linux-nightly.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 879e822..9e64257 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -28,7 +28,14 @@ jobs: - name: Install Linux Dependencies run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev + sudo apt-get install -y \ + build-essential \ + libgtk-3-dev \ + libwebkit2gtk-4.0-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev \ + libglib2.0-dev \ + pkg-config - name: Install Dependencies run: | From 8004e2c66180dc955f35a381e66030b2b31827b0 Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:15:05 -0500 Subject: [PATCH 03/12] move to ubuntu-latest --- .github/workflows/linux-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 9e64257..1c30f7a 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -11,7 +11,7 @@ env: jobs: build: name: Build Linux Packages - runs-on: ubuntu-20.04 # Using 20.04 for broader compatibility + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From 180215fb596adc7491f72b1959c0438242430e43 Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:20:09 -0500 Subject: [PATCH 04/12] added more missing dependencies --- .github/workflows/linux-nightly.yml | 6 ++++-- .github/workflows/macos-nightly.yml | 2 +- .github/workflows/windows-nightly.yml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 1c30f7a..ea10c90 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -1,4 +1,4 @@ -name: Linux (x86) Nightly Build +name: Linux (x86_64) Nightly Build on: schedule: @@ -30,12 +30,14 @@ jobs: sudo apt-get update sudo apt-get install -y \ build-essential \ + pkg-config \ libgtk-3-dev \ libwebkit2gtk-4.0-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libglib2.0-dev \ - pkg-config + libjavascriptcoregtk-4.0-dev \ + libsoup2.4-dev - name: Install Dependencies run: | diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml index f752186..b6f53f1 100644 --- a/.github/workflows/macos-nightly.yml +++ b/.github/workflows/macos-nightly.yml @@ -1,4 +1,4 @@ -name: MacOS Nightly Build +name: MacOS (x86_64/arm) Nightly Build on: workflow_dispatch: # Allows manual triggering diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml index 49f5c5e..ede7e73 100644 --- a/.github/workflows/windows-nightly.yml +++ b/.github/workflows/windows-nightly.yml @@ -1,4 +1,4 @@ -name: Windows Nightly Build +name: Windows (x86_64) Nightly Build on: schedule: From f8d7d32ca494f400462ebb677528e37a2ddbadba Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:24:13 -0500 Subject: [PATCH 05/12] wrong versions of depends --- .github/workflows/linux-nightly.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index ea10c90..3959c36 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -32,12 +32,12 @@ jobs: build-essential \ pkg-config \ libgtk-3-dev \ - libwebkit2gtk-4.0-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libglib2.0-dev \ libjavascriptcoregtk-4.0-dev \ - libsoup2.4-dev + libsoup-3.0-dev \ + libwebkit2gtk-4.1-dev - name: Install Dependencies run: | From 4e1dfd67ad6632eccf130868158a3a11e93263bc Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:35:30 -0500 Subject: [PATCH 06/12] updated workflow for linux --- .github/workflows/linux-nightly.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 3959c36..70243be 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -60,13 +60,13 @@ jobs: uses: actions/upload-artifact@v4 with: name: linux-appimage - path: src-tauri/target/release/bundle/appimage/*.AppImage + path: src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage - name: Upload Debian Package uses: actions/upload-artifact@v4 with: name: linux-deb - path: src-tauri/target/release/bundle/deb/*.deb + path: src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb - name: Create Release if: github.event_name == 'schedule' # Only create release for scheduled builds @@ -75,8 +75,8 @@ jobs: name: Linux Nightly Build ${{ github.sha }} tag_name: linux-nightly-${{ github.sha }} files: | - src-tauri/target/release/bundle/appimage/*.AppImage - src-tauri/target/release/bundle/deb/*.deb + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb prerelease: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 529aa2ed4d5377aab602a8277a487a1a271755ab Mon Sep 17 00:00:00 2001 From: razor950 Date: Wed, 6 Nov 2024 23:51:16 -0500 Subject: [PATCH 07/12] fixed windows build --- .github/workflows/windows-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml index ede7e73..c1c5847 100644 --- a/.github/workflows/windows-nightly.yml +++ b/.github/workflows/windows-nightly.yml @@ -41,7 +41,7 @@ jobs: - name: Build Windows Executable run: | echo "Building Windows executable..." - npm run tauri build -- --target x86_64-pc-windows-msvc + npm run tauri build - name: Upload Executable uses: actions/upload-artifact@v4 From 143d071d1ba61c966cfe814b79e20d1f4aad9915 Mon Sep 17 00:00:00 2001 From: razor950 Date: Thu, 7 Nov 2024 00:18:59 -0500 Subject: [PATCH 08/12] force manual trigger for now --- .github/workflows/linux-nightly.yml | 2 -- .github/workflows/windows-nightly.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 70243be..3e0af38 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -1,8 +1,6 @@ name: Linux (x86_64) Nightly Build on: - schedule: - - cron: '0 0 * * *' # Runs at 00:00 UTC every day workflow_dispatch: # Allows manual triggering env: diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml index c1c5847..e54d0e1 100644 --- a/.github/workflows/windows-nightly.yml +++ b/.github/workflows/windows-nightly.yml @@ -1,8 +1,6 @@ name: Windows (x86_64) Nightly Build on: - schedule: - - cron: '0 0 * * *' # Runs at 00:00 UTC every day workflow_dispatch: # Allows manual triggering env: From f15fbaeac55c122d1c365e4901fa401488e2e147 Mon Sep 17 00:00:00 2001 From: Abdenasser Date: Thu, 7 Nov 2024 16:04:55 +0100 Subject: [PATCH 09/12] testing on local branch --- .github/workflows/linux-nightly.yml | 5 ++++- .github/workflows/macos-nightly.yml | 5 ++++- .github/workflows/windows-nightly.yml | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 3e0af38..30dbe2c 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -1,7 +1,10 @@ name: Linux (x86_64) Nightly Build on: - workflow_dispatch: # Allows manual triggering + push: + branches: + - pr-29 + workflow_dispatch: # Allows manual triggering env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml index b6f53f1..4a14dae 100644 --- a/.github/workflows/macos-nightly.yml +++ b/.github/workflows/macos-nightly.yml @@ -1,7 +1,10 @@ name: MacOS (x86_64/arm) Nightly Build on: - workflow_dispatch: # Allows manual triggering + push: + branches: + - pr-29 + workflow_dispatch: # Allows manual triggering env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml index e54d0e1..8ddb7a9 100644 --- a/.github/workflows/windows-nightly.yml +++ b/.github/workflows/windows-nightly.yml @@ -1,7 +1,10 @@ name: Windows (x86_64) Nightly Build on: - workflow_dispatch: # Allows manual triggering + push: + branches: + - pr-29 + workflow_dispatch: # Allows manual triggering env: CARGO_TERM_COLOR: always From 6380f21f7d2e1e5f74fcadf83d5b581ab1955d0b Mon Sep 17 00:00:00 2001 From: Abdenasser Date: Thu, 7 Nov 2024 16:31:43 +0100 Subject: [PATCH 10/12] added keychain setup --- .github/workflows/macos-nightly.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml index 4a14dae..dd813d5 100644 --- a/.github/workflows/macos-nightly.yml +++ b/.github/workflows/macos-nightly.yml @@ -32,6 +32,17 @@ jobs: rustup target add aarch64-apple-darwin npm install + - name: Set up keychain + run: | + security create-keychain -p "" build.keychain + security default-keychain -s build.keychain + security unlock-keychain -p "" build.keychain + security import <(echo "$MACOS_CERTIFICATE" | base64 --decode) -k build.keychain -P "$MACOS_CERTIFICATE_PASSWORD" -T /usr/bin/codesign + security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain + env: + MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} + MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} + - name: Build Frontend run: npm run build From 267d1334f9d5aec5ce0f876843a4f4153a0b7886 Mon Sep 17 00:00:00 2001 From: Abdenasser Date: Thu, 7 Nov 2024 16:36:02 +0100 Subject: [PATCH 11/12] added keychain setup --- .github/workflows/macos-nightly.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml index dd813d5..81ee003 100644 --- a/.github/workflows/macos-nightly.yml +++ b/.github/workflows/macos-nightly.yml @@ -37,7 +37,8 @@ jobs: security create-keychain -p "" build.keychain security default-keychain -s build.keychain security unlock-keychain -p "" build.keychain - security import <(echo "$MACOS_CERTIFICATE" | base64 --decode) -k build.keychain -P "$MACOS_CERTIFICATE_PASSWORD" -T /usr/bin/codesign + echo "$MACOS_CERTIFICATE" | base64 --decode > /tmp/certificate.p12 + security import /tmp/certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PASSWORD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain env: MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} From e59898921fee561808281f719bd186df09591e9e Mon Sep 17 00:00:00 2001 From: Abdenasser Date: Thu, 7 Nov 2024 16:46:07 +0100 Subject: [PATCH 12/12] final --- .github/workflows/linux-nightly.yml | 3 --- .github/workflows/macos-nightly.yml | 3 --- .github/workflows/windows-nightly.yml | 3 --- 3 files changed, 9 deletions(-) diff --git a/.github/workflows/linux-nightly.yml b/.github/workflows/linux-nightly.yml index 30dbe2c..cb5ae14 100644 --- a/.github/workflows/linux-nightly.yml +++ b/.github/workflows/linux-nightly.yml @@ -1,9 +1,6 @@ name: Linux (x86_64) Nightly Build on: - push: - branches: - - pr-29 workflow_dispatch: # Allows manual triggering env: diff --git a/.github/workflows/macos-nightly.yml b/.github/workflows/macos-nightly.yml index 81ee003..2381489 100644 --- a/.github/workflows/macos-nightly.yml +++ b/.github/workflows/macos-nightly.yml @@ -1,9 +1,6 @@ name: MacOS (x86_64/arm) Nightly Build on: - push: - branches: - - pr-29 workflow_dispatch: # Allows manual triggering env: diff --git a/.github/workflows/windows-nightly.yml b/.github/workflows/windows-nightly.yml index 8ddb7a9..c2dba75 100644 --- a/.github/workflows/windows-nightly.yml +++ b/.github/workflows/windows-nightly.yml @@ -1,9 +1,6 @@ name: Windows (x86_64) Nightly Build on: - push: - branches: - - pr-29 workflow_dispatch: # Allows manual triggering env: