Add Flatpak CI

This commit is contained in:
david-swift 2024-08-27 07:04:05 +02:00
parent c0a9098bec
commit f17f13786d
2 changed files with 98 additions and 0 deletions

44
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: CI
on:
push:
branches: [main]
jobs:
flatpak:
name: Flatpak
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-45
options: --privileged
strategy:
matrix:
arch: [x86_64, aarch64]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Install Swift dependencies
run: |
dnf -y install libadwaita-devel
dnf -y install swiftlang
- name: Install deps
if: ${{ matrix.arch != 'x86_64' }}
run: |
dnf -y install docker
- name: Set up QEMU
if: ${{ matrix.arch != 'x86_64' }}
id: qemu
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: SPM Flatpak Builder Tool
run: |
swift build -c release
git clone https://github.com/flatpak/flatpak-builder-tools
mv data/release-manifest/manifest.json io.github.AparokshaUI.AdwaitaTemplate.json
swift flatpak-builder-tools/spm/flatpak-spm-generator.swift . .
- name: Flatpak Builder
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: io.github.AparokshaUI.AdwaitaTemplate.flatpak
manifest-path: io.github.AparokshaUI.AdwaitaTemplate.json
cache-key: flatpak-builder-${{ github.sha }}
arch: ${{ matrix.arch }}

View File

@ -0,0 +1,54 @@
{
"app-id": "io.github.AparokshaUI.AdwaitaTemplate",
"runtime": "org.gnome.Platform",
"runtime-version": "46",
"sdk": "org.gnome.Sdk",
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.swift5"
],
"command": "AdwaitaTemplate",
"finish-args": [
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland"
],
"build-options": {
"append-path": "/usr/lib/sdk/swift5/bin",
"prepend-ld-library-path": "/usr/lib/sdk/swift5/lib"
},
"cleanup": [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"modules": [
{
"name": "AdwaitaTemplate",
"builddir": true,
"buildsystem": "simple",
"sources": [
{
"type": "dir",
"path": "."
}
],
"build-commands": [
"./setup-offline.sh",
"swift build -c release --static-swift-stdlib --skip-update",
"strip .build/release/AdwaitaTemplate",
"install -Dm755 .build/release/AdwaitaTemplate /app/bin/AdwaitaTemplate",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml $DESTDIR/app/share/metainfo/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.desktop $DESTDIR/app/share/applications/io.github.AparokshaUI.AdwaitaTemplate.desktop",
"install -Dm644 data/icons/io.github.AparokshaUI.AdwaitaTemplate.svg $DESTDIR/app/share/icons/hicolor/scalable/apps/io.github.AparokshaUI.AdwaitaTemplate.svg",
"install -Dm644 data/icons/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg $DESTDIR/app/share/icons/hicolor/symbolic/apps/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg"
]
}
]
}