From a0a9358f55559af75953f119477e54f9d2c4cd0d Mon Sep 17 00:00:00 2001 From: PandaDEV <70103896+0PandaDEV@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:17:42 +1000 Subject: [PATCH] chore: optimize ARM64 build workflow by refining dependency installation and cross-compilation setup --- .github/workflows/build.yml | 56 +++++++------------------------------ 1 file changed, 10 insertions(+), 46 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0091eb5..ae76d7e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -162,7 +162,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: updater-files-windows-${{ matrix.arch }} - path: | + path: | src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi.sig @@ -190,7 +190,7 @@ jobs: with: workspaces: "src-tauri -> target" cache-directories: "~/.cargo/registry/index/,~/.cargo/registry/cache/,~/.cargo/git/db/" - shared-key: "linux-rust-cache" + shared-key: "ubuntu-rust-cache" save-if: "true" - uses: actions/cache@v4 with: @@ -202,51 +202,15 @@ jobs: run: | sudo dpkg --add-architecture arm64 sudo apt update - sudo apt install -y \ - libwebkit2gtk-4.1-dev \ - build-essential \ - curl \ - wget \ - file \ - libssl-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev \ - libasound2-dev \ - rpm \ - pkg-config - - if [ "${{ matrix.arch }}" = "arm64" ]; then - sudo apt install -y \ - gcc-aarch64-linux-gnu \ - g++-aarch64-linux-gnu \ - libglib2.0-dev:arm64 \ - libwebkit2gtk-4.1-dev:arm64 \ - libssl-dev:arm64 \ - libayatana-appindicator3-dev:arm64 \ - librsvg2-dev:arm64 \ - libasound2-dev:arm64 \ - libgtk-3-dev:arm64 \ - libatk1.0-dev:arm64 \ - libgdk-pixbuf-2.0-dev:arm64 \ - libcairo2-dev:arm64 \ - libpango1.0-dev:arm64 \ - libsoup-3.0-dev:arm64 - - # Set up pkg-config for ARM64 - sudo mkdir -p /usr/lib/aarch64-linux-gnu/pkgconfig - sudo cp /usr/lib/x86_64-linux-gnu/pkgconfig/* /usr/lib/aarch64-linux-gnu/pkgconfig/ - - # Environment variables for cross-compilation - echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV - echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV - echo "PKG_CONFIG_SYSROOT_DIR=/usr" >> $GITHUB_ENV - echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV - echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV - echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++" >> $GITHUB_ENV - else - echo "PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig" >> $GITHUB_ENV + sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev rpm + sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu + # Install ARM64 dependencies + if [ "${{ matrix.target }}" = "aarch64-unknown-linux-gnu" ]; then + sudo apt install -y libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 libayatana-appindicator3-dev:arm64 librsvg2-dev:arm64 libasound2-dev:arm64 fi - + echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV + echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV + echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV - run: npm install -g pnpm && pnpm install - uses: tauri-apps/tauri-action@v0 env: