mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-04-28 15:39:46 +00:00
Added linux arm64
This commit is contained in:
parent
9fad467e66
commit
530ffa0bd8
99
.github/workflows/build-and-release.yml
vendored
99
.github/workflows/build-and-release.yml
vendored
@ -3,8 +3,8 @@ on:
|
|||||||
push
|
push
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build_main:
|
||||||
name: Build app
|
name: Build app (Windows [x86, arm64], macOS [arm64, x86], Linux [x86])
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
@ -27,14 +27,6 @@ jobs:
|
|||||||
dotnet_runtime: 'linux-x64'
|
dotnet_runtime: 'linux-x64'
|
||||||
dotnet_name_postfix: '-x86_64-unknown-linux-gnu'
|
dotnet_name_postfix: '-x86_64-unknown-linux-gnu'
|
||||||
tauri_bundle: 'appimage deb'
|
tauri_bundle: 'appimage deb'
|
||||||
#
|
|
||||||
# Issue https://github.com/twistedfall/opencv-rust/issues/457
|
|
||||||
#
|
|
||||||
# - platform: 'ubuntu-22.04' # for ARM-based linux
|
|
||||||
# rust_target: 'aarch64-unknown-linux-gnu'
|
|
||||||
# dotnet_runtime: 'linux-arm64'
|
|
||||||
# dotnet_name_postfix: '-aarch64-unknown-linux-gnu'
|
|
||||||
# tauri_bundle: 'appimage deb'
|
|
||||||
|
|
||||||
- platform: 'windows-latest' # for x86-based windows
|
- platform: 'windows-latest' # for x86-based windows
|
||||||
rust_target: 'x86_64-pc-windows-msvc'
|
rust_target: 'x86_64-pc-windows-msvc'
|
||||||
@ -115,8 +107,8 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
targets: ${{ matrix.rust_target }}
|
targets: ${{ matrix.rust_target }}
|
||||||
|
|
||||||
- name: Setup dependencies (Ubuntu-specific)
|
- name: Setup dependencies (Ubuntu-specific, x86)
|
||||||
if: matrix.platform == 'ubuntu-22.04'
|
if: matrix.platform == 'ubuntu-22.04' && contains(matrix.rust_target, 'x86_64')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
sudo apt-get install -y libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
||||||
@ -188,3 +180,86 @@ jobs:
|
|||||||
path: "runtime/target/${{ matrix.rust_target }}/release/bundle/appimage/mind-work-ai-studio_*.AppImage"
|
path: "runtime/target/${{ matrix.rust_target }}/release/bundle/appimage/mind-work-ai-studio_*.AppImage"
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
|
build_linux_arm64:
|
||||||
|
name: Build app (Linux [arm64])
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
lfs: true # Enable Git LFS
|
||||||
|
|
||||||
|
- uses: pguyot/arm-runner-action@v2.6.5
|
||||||
|
with:
|
||||||
|
base_image: dietpi:rpi_armv8_bullseye
|
||||||
|
cpu: cortex-a53
|
||||||
|
image_additional_mb: 5000 # ~ 5GB
|
||||||
|
optimize_image: false
|
||||||
|
commands: |
|
||||||
|
# Rust complains (rightly) that $HOME doesn't match eid home:
|
||||||
|
export HOME=/root
|
||||||
|
|
||||||
|
# Workaround to CI worker being stuck on Updating crates.io index:
|
||||||
|
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
|
||||||
|
|
||||||
|
# Update and upgrade the system:
|
||||||
|
apt-get update --yes --allow-releaseinfo-change
|
||||||
|
apt-get upgrade --yes
|
||||||
|
apt-get autoremove --yes
|
||||||
|
apt-get install curl wget apt-transport-https --yes
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
export TZ=Europe/Berlin
|
||||||
|
|
||||||
|
#
|
||||||
|
# Install .NET SDK:
|
||||||
|
#
|
||||||
|
# Note: We cannot use the official Microsoft package because it's not available for ARM64.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Install the dependencies:
|
||||||
|
apt-get install --yes --no-install-recommends ca-certificates libc6 libgcc-s1 libgssapi-krb5-2 libicu69 libssl1.1 libstdc++6 zlib1g
|
||||||
|
|
||||||
|
# Download and install the .NET SDK:
|
||||||
|
# wget --no-verbose https://download.visualstudio.microsoft.com/download/pr/cd9decc0-f3ef-46d6-b7d1-348b757781ad/9ad92a8f4b805feb3d017731e78eca15/dotnet-sdk-8.0.301-linux-arm64.tar.gz -O dotnet-sdk.tar.gz
|
||||||
|
# mkdir -p /usr/share/dotnet
|
||||||
|
# tar -zxf dotnet-sdk.tar.gz -C /usr/share/dotnet
|
||||||
|
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
|
||||||
|
chmod +x ./dotnet-install.sh
|
||||||
|
./dotnet-install.sh --channel 8.0
|
||||||
|
export DOTNET_ROOT=$HOME/.dotnet
|
||||||
|
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
|
||||||
|
export DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||||
|
|
||||||
|
# Compile the app:
|
||||||
|
cd "app/MindWork AI Studio"
|
||||||
|
dotnet publish --configuration release --runtime linux-arm --disable-build-servers --force --output ../../publish/dotnet
|
||||||
|
|
||||||
|
# Move & rename the .NET artifact:
|
||||||
|
cd ../..
|
||||||
|
mkdir -p "app/MindWork AI Studio/bin/dist"
|
||||||
|
cd publish/dotnet
|
||||||
|
mv mindworkAIStudio "../../app/MindWork AI Studio/bin/dist/mindworkAIStudio-aarch64-unknown-linux-gnu"
|
||||||
|
|
||||||
|
# Install Rust:
|
||||||
|
cd ../..
|
||||||
|
curl https://sh.rustup.rs -sSf | sh -s -- --yes
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
|
|
||||||
|
# Install build tools and tauri-cli requirements:
|
||||||
|
apt-get install --yes libwebkit2gtk-4.0-dev build-essential libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
|
||||||
|
|
||||||
|
# Setup Tauri:
|
||||||
|
cargo install tauri-cli
|
||||||
|
|
||||||
|
# Build the runtime:
|
||||||
|
cd runtime
|
||||||
|
cargo tauri build --target aarch64-unknown-linux-gnu --bundles deb
|
||||||
|
|
||||||
|
- name: Upload artifact (Linux - Debian Package)
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: MindWork AI Studio (Linux - deb linux-arm)
|
||||||
|
path: "${{ github.workspace }}/runtime/target/aarch64-unknown-linux-gnu/release/bundle/deb/mind-work-ai-studio_*.deb"
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 1
|
Loading…
Reference in New Issue
Block a user