arm linux build? (#629)
* arm build? * try newer vulkan * dont think this will work but try anyway * Update build.yml
This commit is contained in:
parent
c45df96065
commit
7e2760ea27
4 changed files with 47 additions and 13 deletions
3
.github/workflows/build-test.yml
vendored
3
.github/workflows/build-test.yml
vendored
|
|
@ -22,6 +22,9 @@ jobs:
|
||||||
- platform: "ubuntu-24.04" # Build AppImage and RPM on 24.04
|
- platform: "ubuntu-24.04" # Build AppImage and RPM on 24.04
|
||||||
args: "--bundles appimage,rpm"
|
args: "--bundles appimage,rpm"
|
||||||
target: "x86_64-unknown-linux-gnu"
|
target: "x86_64-unknown-linux-gnu"
|
||||||
|
- platform: "ubuntu-24.04-arm" # Build for ARM64 Linux
|
||||||
|
args: "--bundles appimage,deb,rpm"
|
||||||
|
target: "aarch64-unknown-linux-gnu"
|
||||||
- platform: "windows-latest"
|
- platform: "windows-latest"
|
||||||
args: ""
|
args: ""
|
||||||
target: "x86_64-pc-windows-msvc"
|
target: "x86_64-pc-windows-msvc"
|
||||||
|
|
|
||||||
51
.github/workflows/build.yml
vendored
51
.github/workflows/build.yml
vendored
|
|
@ -101,8 +101,8 @@ jobs:
|
||||||
workspaces: "./src-tauri -> target"
|
workspaces: "./src-tauri -> target"
|
||||||
key: ${{ inputs.platform }}-${{ inputs.target }}
|
key: ${{ inputs.platform }}-${{ inputs.target }}
|
||||||
|
|
||||||
- name: install dependencies (ubuntu 24.04)
|
- name: install dependencies (ubuntu 24.04 x64)
|
||||||
if: contains(inputs.platform, 'ubuntu-24.04')
|
if: contains(inputs.platform, 'ubuntu-24.04') && !contains(inputs.platform, 'arm')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev \
|
sudo apt-get install -y libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev \
|
||||||
|
|
@ -113,8 +113,14 @@ jobs:
|
||||||
gir1.2-javascriptcoregtk-4.1=2.44.0-2 \
|
gir1.2-javascriptcoregtk-4.1=2.44.0-2 \
|
||||||
gir1.2-webkit2-4.1=2.44.0-2
|
gir1.2-webkit2-4.1=2.44.0-2
|
||||||
|
|
||||||
|
- name: install dependencies (ubuntu 24.04 arm64)
|
||||||
|
if: contains(inputs.platform, 'ubuntu-24.04-arm')
|
||||||
|
run: |
|
||||||
|
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 xdg-utils
|
||||||
|
|
||||||
- name: install dependencies (ubuntu 22.04)
|
- name: install dependencies (ubuntu 22.04)
|
||||||
if: contains(inputs.platform, 'ubuntu-22.04')
|
if: contains(inputs.platform, 'ubuntu-22.04') && !contains(inputs.platform, 'arm')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
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
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libasound2-dev libopenblas-dev libx11-dev libxtst-dev libxrandr-dev
|
||||||
|
|
@ -172,7 +178,7 @@ jobs:
|
||||||
run: cargo install trusted-signing-cli
|
run: cargo install trusted-signing-cli
|
||||||
|
|
||||||
- name: Prepare Vulkan SDK for Ubuntu 24.04
|
- name: Prepare Vulkan SDK for Ubuntu 24.04
|
||||||
if: contains(inputs.platform, 'ubuntu-24.04')
|
if: contains(inputs.platform, 'ubuntu-24.04') && !contains(inputs.platform, 'arm')
|
||||||
run: |
|
run: |
|
||||||
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
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-noble.list https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-noble.list
|
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-noble.list https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-noble.list
|
||||||
|
|
@ -180,8 +186,21 @@ jobs:
|
||||||
sudo apt install vulkan-sdk -y
|
sudo apt install vulkan-sdk -y
|
||||||
sudo apt-get install -y mesa-vulkan-drivers
|
sudo apt-get install -y mesa-vulkan-drivers
|
||||||
|
|
||||||
|
- name: Prepare Vulkan SDK for Ubuntu ARM64
|
||||||
|
if: contains(inputs.platform, 'ubuntu') && contains(inputs.platform, 'arm')
|
||||||
|
uses: jakoch/install-vulkan-sdk-action@v1
|
||||||
|
with:
|
||||||
|
vulkan_version: 1.4.335.0
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Install Vulkan runtime libraries (Ubuntu ARM64)
|
||||||
|
if: contains(inputs.platform, 'ubuntu') && contains(inputs.platform, 'arm')
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libvulkan-dev mesa-vulkan-drivers
|
||||||
|
|
||||||
- name: Prepare Vulkan SDK for Ubuntu 22.04
|
- name: Prepare Vulkan SDK for Ubuntu 22.04
|
||||||
if: contains(inputs.platform, 'ubuntu-22.04')
|
if: contains(inputs.platform, 'ubuntu-22.04') && !contains(inputs.platform, 'arm')
|
||||||
run: |
|
run: |
|
||||||
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
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 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
|
||||||
|
|
@ -198,7 +217,7 @@ jobs:
|
||||||
run: bun install --cpu=arm64
|
run: bun install --cpu=arm64
|
||||||
|
|
||||||
- name: rustup install target
|
- name: rustup install target
|
||||||
if: ${{ inputs.target != '' && !contains(inputs.target, 'unknown-linux-gnu') && !contains(inputs.target, 'x86_64-pc-windows-msvc') }}
|
if: ${{ inputs.target != '' && !contains(inputs.target, 'x86_64-unknown-linux-gnu') && !contains(inputs.target, 'aarch64-unknown-linux-gnu') && !contains(inputs.target, 'x86_64-pc-windows-msvc') }}
|
||||||
run: rustup target add ${{ inputs.target }}
|
run: rustup target add ${{ inputs.target }}
|
||||||
|
|
||||||
- name: import Apple Developer Certificate
|
- name: import Apple Developer Certificate
|
||||||
|
|
@ -254,8 +273,8 @@ jobs:
|
||||||
AZURE_TENANT_ID: ${{ inputs.sign-binaries && secrets.AZURE_TENANT_ID || '' }}
|
AZURE_TENANT_ID: ${{ inputs.sign-binaries && secrets.AZURE_TENANT_ID || '' }}
|
||||||
TAURI_SIGNING_PRIVATE_KEY: ${{ inputs.sign-binaries && secrets.TAURI_SIGNING_PRIVATE_KEY || '' }}
|
TAURI_SIGNING_PRIVATE_KEY: ${{ inputs.sign-binaries && secrets.TAURI_SIGNING_PRIVATE_KEY || '' }}
|
||||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ inputs.sign-binaries && secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD || '' }}
|
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ inputs.sign-binaries && secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD || '' }}
|
||||||
WHISPER_NO_AVX: ${{ contains(inputs.platform, 'ubuntu') && 'ON' || '' }}
|
WHISPER_NO_AVX: ${{ contains(inputs.platform, 'ubuntu') && !contains(inputs.platform, 'arm') && 'ON' || '' }}
|
||||||
WHISPER_NO_AVX2: ${{ contains(inputs.platform, 'ubuntu') && 'ON' || '' }}
|
WHISPER_NO_AVX2: ${{ contains(inputs.platform, 'ubuntu') && !contains(inputs.platform, 'arm') && 'ON' || '' }}
|
||||||
with:
|
with:
|
||||||
tagName: ${{ inputs.release-id && format('v{0}', steps.get-version.outputs.version) || '' }}
|
tagName: ${{ inputs.release-id && format('v{0}', steps.get-version.outputs.version) || '' }}
|
||||||
releaseName: ${{ inputs.release-id && format('v{0}', steps.get-version.outputs.version) || '' }}
|
releaseName: ${{ inputs.release-id && format('v{0}', steps.get-version.outputs.version) || '' }}
|
||||||
|
|
@ -309,15 +328,21 @@ jobs:
|
||||||
ls "$dir" | grep -E "(wayland|fuse)" || echo " No wayland/fuse libraries found"
|
ls "$dir" | grep -E "(wayland|fuse)" || echo " No wayland/fuse libraries found"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Get appimagetool
|
# Detect architecture and get appropriate appimagetool
|
||||||
wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
if [[ "$(uname -m)" == "aarch64" ]]; then
|
||||||
chmod +x appimagetool-x86_64.AppImage
|
APPIMAGETOOL_ARCH="aarch64"
|
||||||
|
else
|
||||||
|
APPIMAGETOOL_ARCH="x86_64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
wget -q "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${APPIMAGETOOL_ARCH}.AppImage"
|
||||||
|
chmod +x "appimagetool-${APPIMAGETOOL_ARCH}.AppImage"
|
||||||
|
|
||||||
# Repackage AppImage with no-appstream to avoid warnings
|
# Repackage AppImage with no-appstream to avoid warnings
|
||||||
ARCH=x86_64 ./appimagetool-x86_64.AppImage --no-appstream squashfs-root "$APPIMAGE_NAME"
|
ARCH="${APPIMAGETOOL_ARCH}" "./appimagetool-${APPIMAGETOOL_ARCH}.AppImage" --no-appstream squashfs-root "$APPIMAGE_NAME"
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
rm -rf squashfs-root appimagetool-x86_64.AppImage
|
rm -rf squashfs-root "appimagetool-${APPIMAGETOOL_ARCH}.AppImage"
|
||||||
|
|
||||||
echo "libwayland-client.so removed from AppImage successfully"
|
echo "libwayland-client.so removed from AppImage successfully"
|
||||||
else
|
else
|
||||||
|
|
|
||||||
3
.github/workflows/pr-test-build.yml
vendored
3
.github/workflows/pr-test-build.yml
vendored
|
|
@ -28,6 +28,9 @@ jobs:
|
||||||
- platform: "ubuntu-24.04"
|
- platform: "ubuntu-24.04"
|
||||||
args: "--bundles appimage,rpm"
|
args: "--bundles appimage,rpm"
|
||||||
target: "x86_64-unknown-linux-gnu"
|
target: "x86_64-unknown-linux-gnu"
|
||||||
|
- platform: "ubuntu-24.04-arm" # Build for ARM64 Linux
|
||||||
|
args: "--bundles appimage,deb,rpm"
|
||||||
|
target: "aarch64-unknown-linux-gnu"
|
||||||
- platform: "windows-latest"
|
- platform: "windows-latest"
|
||||||
args: ""
|
args: ""
|
||||||
target: "x86_64-pc-windows-msvc"
|
target: "x86_64-pc-windows-msvc"
|
||||||
|
|
|
||||||
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
|
|
@ -58,6 +58,9 @@ jobs:
|
||||||
- platform: "ubuntu-24.04" # Build AppImage and RPM on 24.04
|
- platform: "ubuntu-24.04" # Build AppImage and RPM on 24.04
|
||||||
args: "--bundles appimage,rpm"
|
args: "--bundles appimage,rpm"
|
||||||
target: "x86_64-unknown-linux-gnu"
|
target: "x86_64-unknown-linux-gnu"
|
||||||
|
- platform: "ubuntu-24.04-arm" # Build for ARM64 Linux
|
||||||
|
args: "--bundles appimage,deb,rpm"
|
||||||
|
target: "aarch64-unknown-linux-gnu"
|
||||||
- platform: "windows-latest"
|
- platform: "windows-latest"
|
||||||
args: ""
|
args: ""
|
||||||
target: "x86_64-pc-windows-msvc"
|
target: "x86_64-pc-windows-msvc"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue