@@ -10,69 +10,81 @@ jobs:
1010 runs-on : ubuntu-latest
1111 strategy :
1212 matrix :
13- arch : [amd64, arm64]
13+ include :
14+ - arch : amd64
15+ rust_target : x86_64-unknown-linux-gnu
16+ pkg_config_env : " "
17+ extra_deps : |
18+ libgtk-3-dev
19+ libwebkit2gtk-4.1-dev
20+ libayatana-appindicator3-dev
21+ librsvg2-dev
22+ pkg-config
23+ - arch : arm64
24+ rust_target : aarch64-unknown-linux-gnu
25+ pkg_config_env : " PKG_CONFIG_aarch64_unknown_linux_gnu=aarch64-linux-gnu-pkg-config"
26+ extra_deps : |
27+ gcc-aarch64-linux-gnu
28+ pkg-config-aarch64-linux-gnu
29+ libgtk-3-dev:arm64
30+ libwebkit2gtk-4.1-dev:arm64
31+ libayatana-appindicator3-dev:arm64
32+ librsvg2-dev:arm64
1433
1534 steps :
16- - name : Checkout code
17- uses : actions/checkout@v4
35+ - uses : actions/checkout@v4
1836
1937 - name : Install system dependencies
2038 run : |
2139 rm -rf src-tauri/target/release/bundle/deb/*.deb
2240 sudo apt-get update
2341 sudo apt-get install -y \
2442 snapd \
25- libgtk-3-dev \
26- libwebkit2gtk-4.1-dev \
27- libayatana-appindicator3-dev \
28- librsvg2-dev \
29- pkg-config \
3043 build-essential \
3144 curl \
3245 gstreamer1.0-plugins-base \
3346 gstreamer1.0-plugins-good \
3447 gstreamer1.0-plugins-bad \
3548 gstreamer1.0-plugins-ugly \
3649 gstreamer1.0-libav \
37- gstreamer1.0-vaapi
50+ gstreamer1.0-vaapi \
51+ ${{ matrix.extra_deps }}
3852 sudo snap install snapcraft --classic
3953
4054 - name : Set up Bun
4155 uses : oven-sh/setup-bun@v2
4256 with :
4357 bun-version : latest
4458
45- - name : Install Rust
59+ - name : Install Rust target
4660 run : |
4761 rustup default stable
48- rustup target add x86_64-unknown-linux-gnu
49- rustup target add aarch64-unknown-linux-gnu
62+ rustup target add ${{ matrix.rust_target }}
5063
5164 - name : Rust cache
5265 uses : swatinem/rust-cache@v2
5366 with :
5467 workspaces : ' src-tauri -> src-tauri/target'
5568
5669 - name : Export Tauri signing environment variables
57- shell : bash
5870 run : |
5971 echo "TAURI_SIGNING_PRIVATE_KEY=${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}" >> $GITHUB_ENV
6072 echo "TAURI_SIGNING_PRIVATE_KEY_PASSWORD=${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}" >> $GITHUB_ENV
6173
6274 - name : Install dependencies
6375 run : bun install
6476
65- - name : Build Linux Deb
77+ - name : Configure pkg-config
6678 run : |
67- if [ "${{ matrix.arch }}" = "amd64" ]; then
68- bun tauri build --bundles deb --target x86_64-unknown-linux-gnu
69- else
70- bun tauri build --bundles deb --target aarch64-unknown-linux-gnu
79+ if [ -n "${{ matrix.pkg_config_env }}" ]; then
80+ echo "${{ matrix.pkg_config_env }}" >> $GITHUB_ENV
7181 fi
7282
83+ - name : Build Linux Deb
84+ run : bun tauri build --bundles deb --target ${{ matrix.rust_target }}
85+
7386 - name : Build Snap package
74- run : |
75- sudo snapcraft pack --destructive-mode --target-arch=${{ matrix.arch }}
87+ run : sudo snapcraft pack --destructive-mode --target-arch=${{ matrix.arch }}
7688
7789 - name : Upload Snap artifact
7890 uses : actions/upload-artifact@v4
0 commit comments