From 2246686200a87872e096a8e722e6f92bf78f16ff Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 19:42:48 +0800 Subject: feat: add Arch Linux support for build and test workflows --- .github/workflows/test.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b5311c9..e123e95 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,3 +47,32 @@ jobs: - name: Build (Dev) working-directory: ./src-tauri run: cargo build --verbose + + test-arch: + name: Test on Arch Linux + runs-on: ubuntu-latest + container: + image: archlinux:latest + steps: + - name: Install Dependencies + run: | + pacman -Syu --noconfirm + pacman -S --noconfirm webkit2gtk base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git + + - uses: actions/checkout@v4 + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Rust Cache + uses: swatinem/rust-cache@v2 + with: + workspaces: ./src-tauri + + - name: Run Tests + working-directory: ./src-tauri + run: cargo test --verbose + + - name: Build (Dev) + working-directory: ./src-tauri + run: cargo build --verbose -- cgit v1.2.3-70-g09d2 From 1893aae5ba5c92eee519176b651b1b4247a3ae80 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 19:45:52 +0800 Subject: fix: update webkit2gtk package version in workflows for Arch Linux --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5bf8caa..07aeec7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -144,7 +144,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git # Fix makepkg running as root sed -i 's/E_ROOT=1/E_ROOT=0/' /usr/bin/makepkg || true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e123e95..0c0b0c0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,7 +57,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git - uses: actions/checkout@v4 -- cgit v1.2.3-70-g09d2 From a3da667bf3ee467136d7d5f218acabb8e23b390e Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 19:53:54 +0800 Subject: fix: add missing dependencies for Arch Linux in workflows --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07aeec7..e14de5c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -144,7 +144,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 linuxdeploy # Fix makepkg running as root sed -i 's/E_ROOT=1/E_ROOT=0/' /usr/bin/makepkg || true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0c0b0c0..0d50313 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,7 +57,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 linuxdeploy - uses: actions/checkout@v4 -- cgit v1.2.3-70-g09d2 From a9f7a45a9537f3bfd0216ee47c9391ec9fd67587 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 19:55:47 +0800 Subject: fix: remove unnecessary 'linuxdeploy' package from Arch Linux dependencies --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e14de5c..6121efc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -144,7 +144,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 linuxdeploy + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 # Fix makepkg running as root sed -i 's/E_ROOT=1/E_ROOT=0/' /usr/bin/makepkg || true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d50313..6cb5753 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,7 +57,7 @@ jobs: - name: Install Dependencies run: | pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 linuxdeploy + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 - uses: actions/checkout@v4 -- cgit v1.2.3-70-g09d2 From cf634adbcb72afc067c09020f097433c9c8109b3 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 20:04:03 +0800 Subject: fix: remove Arch Linux build and test workflows; add libfuse2 dependency for Ubuntu --- .github/workflows/release.yml | 56 ++----------------------------------------- .github/workflows/test.yml | 29 ---------------------- 2 files changed, 2 insertions(+), 83 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6121efc..2c73602 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -89,13 +89,13 @@ jobs: if: matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev + sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2 - name: Install Dependencies (Linux ARM64) if: matrix.platform == 'ubuntu-24.04-arm' run: | sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev + sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2 - name: Install pnpm uses: pnpm/action-setup@v4 @@ -131,55 +131,3 @@ jobs: with: releaseId: ${{ needs.promote-release.outputs.release_id }} args: ${{ matrix.args }} - - build-tauri-arch: - name: Build & Upload (Arch Linux) - needs: promote-release - permissions: - contents: write - runs-on: ubuntu-latest - container: - image: archlinux:latest - steps: - - name: Install Dependencies - run: | - pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 - # Fix makepkg running as root - sed -i 's/E_ROOT=1/E_ROOT=0/' /usr/bin/makepkg || true - - - uses: actions/checkout@v4 - - - name: Install pnpm - uses: pnpm/action-setup@v4 - with: - version: 9 - - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: "pnpm" - cache-dependency-path: "ui/pnpm-lock.yaml" - - - name: Install Frontend Dependencies - run: pnpm install - working-directory: ui - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - targets: "x86_64-unknown-linux-gnu" - - - name: Rust Cache - uses: swatinem/rust-cache@v2 - with: - workspaces: "./src-tauri -> target" - - - name: Build Tauri App - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - releaseId: ${{ needs.promote-release.outputs.release_id }} - args: "--target x86_64-unknown-linux-gnu" \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6cb5753..b5311c9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,32 +47,3 @@ jobs: - name: Build (Dev) working-directory: ./src-tauri run: cargo build --verbose - - test-arch: - name: Test on Arch Linux - runs-on: ubuntu-latest - container: - image: archlinux:latest - steps: - - name: Install Dependencies - run: | - pacman -Syu --noconfirm - pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg git fuse2 - - - uses: actions/checkout@v4 - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - - - name: Rust Cache - uses: swatinem/rust-cache@v2 - with: - workspaces: ./src-tauri - - - name: Run Tests - working-directory: ./src-tauri - run: cargo test --verbose - - - name: Build (Dev) - working-directory: ./src-tauri - run: cargo build --verbose -- cgit v1.2.3-70-g09d2 From 18c123fcd0ed42bcd6e9ac68204106d31efd041d Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 20:58:31 +0800 Subject: feat: enhance testing workflow with Arch Linux Wayland support and improved environment setup --- .github/workflows/test.yml | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b5311c9..e7868f5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,23 +15,54 @@ env: jobs: test: - name: Test on ${{ matrix.platform }} + name: Test on ${{ matrix.name }} runs-on: ${{ matrix.platform }} + container: + image: ${{ matrix.container }} + options: --user root strategy: fail-fast: false matrix: # On Push: Linux only. On PR: All platforms. - platform: ${{ (github.event_name == 'pull_request') && fromJson('["ubuntu-22.04", "windows-latest", "macos-14"]') || fromJson('["ubuntu-22.04"]') }} + include: + - platform: "ubuntu-22.04" + name: "Ubuntu 22.04" + - platform: "ubuntu-22.04" + name: "Arch Linux (Wayland)" + container: "archlinux:latest" + wayland: true + - platform: "windows-latest" + name: "Windows" + pr_only: true + - platform: "macos-14" + name: "macOS" + pr_only: true + # Exclude PR-only platforms on push events + if: (!matrix.pr_only || github.event_name == 'pull_request') steps: - uses: actions/checkout@v4 - - name: Install Dependencies (Linux) - if: runner.os == 'Linux' + - name: Install Dependencies (Ubuntu) + if: runner.os == 'Linux' && !matrix.wayland run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev + - name: Install Dependencies (Arch Linux) + if: matrix.wayland + run: | + pacman -Syu --noconfirm + pacman -S --noconfirm webkit2gtk-4.1 base-devel curl wget file openssl gtk3 + + - name: Setup Wayland Environment (Arch) + if: matrix.wayland + run: | + echo "WAYLAND_DISPLAY=wayland-1" >> $GITHUB_ENV + echo "GDK_BACKEND=wayland" >> $GITHUB_ENV + echo "XDG_SESSION_TYPE=wayland" >> $GITHUB_ENV + echo "Wayland test environment configured" + - name: Install Rust uses: dtolnay/rust-toolchain@stable -- cgit v1.2.3-70-g09d2 From 18111ef323a81e399e3b907c9046170afcb8e0eb Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Wed, 14 Jan 2026 20:58:58 +0800 Subject: fix: remove PR-only restrictions for Windows and macOS platforms in CI workflow --- .github/workflows/test.yml | 4 ---- 1 file changed, 4 deletions(-) (limited to '.github/workflows/test.yml') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e7868f5..8ca056e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,12 +33,8 @@ jobs: wayland: true - platform: "windows-latest" name: "Windows" - pr_only: true - platform: "macos-14" name: "macOS" - pr_only: true - # Exclude PR-only platforms on push events - if: (!matrix.pr_only || github.event_name == 'pull_request') steps: - uses: actions/checkout@v4 -- cgit v1.2.3-70-g09d2