Merge branch 'flatpak-arm' into 'main'

Build Arm64 flatpaks

See merge request veilid/veilidchat!41
This commit is contained in:
Christien Rioux 2025-04-04 13:17:46 -04:00
commit c0d97dd459
2 changed files with 78 additions and 0 deletions

View File

@ -77,6 +77,49 @@ build_linux_amd64_flatpak:
- flatpak/com.veilid.veilidchat.flatpak
only:
- schedules
build_linux_arm64_bundle:
stage: build
tags:
- saas-linux-small-arm64
image: ghcr.io/cirruslabs/flutter:3.29.2
script:
- apt-get update
- apt-get install -y --no-install-recommends cmake ninja-build clang build-essential pkg-config libgtk-3-dev liblzma-dev lcov rustup
- rustup toolchain install 1.81 --profile minimal --no-self-update
- flutter config --enable-linux-desktop
- git clone https://gitlab.com/veilid/veilid.git ../veilid
- flutter build linux
artifacts:
paths:
- build/linux/arm64/release/bundle/
only:
- schedules
build_linux_arm64_flatpak:
tags:
- saas-linux-small-arm64
image: ubuntu:24.04
stage: build
dependencies: [build_linux_arm64_bundle]
needs:
- job: build_linux_arm64_bundle
artifacts: true
script:
- apt-get update
- apt-get install -y --no-install-recommends flatpak flatpak-builder gnupg2 elfutils ca-certificates
- flatpak remote-add --no-gpg-verify --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- flatpak install -y --noninteractive org.gnome.Sdk/aarch64/46 org.gnome.Platform/aarch64/46 app/org.flathub.flatpak-external-data-checker/aarch64/stable org.freedesktop.appstream-glib
- pushd flatpak/
- flatpak-builder --force-clean build-dir com.veilid.veilidchat.arm64.yml --repo=repo
- flatpak build-bundle repo com.veilid.veilidchat.flatpak com.veilid.veilidchat
- popd
artifacts:
paths:
- flatpak/com.veilid.veilidchat.flatpak
only:
- schedules
#test:
# extends:
# - .macos_saas_runners

View File

@ -0,0 +1,35 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/flatpak/flatpak-builder/main/data/flatpak-manifest.schema.json
---
app-id: com.veilid.veilidchat
runtime: org.gnome.Platform
runtime-version: "46"
sdk: org.gnome.Sdk
command: veilidchat
separate-locales: false
finish-args:
- --share=ipc
- --socket=fallback-x11
- --socket=wayland
- --device=dri
- --socket=pulseaudio
- --share=network
- --talk-name=org.freedesktop.secrets
modules:
- name: VeilidChat
buildsystem: simple
only-arches:
- aarch64
build-commands:
- "./build-flatpak.sh"
sources:
- type: dir
path: ../build/linux/arm64/release/
- type: file
path: build-flatpak.sh
- type: file
path: com.veilid.veilidchat.png
- type: file
path: com.veilid.veilidchat.desktop
- type: file
path: com.veilid.veilidchat.metainfo.xml