lsfg-vk/.github/workflows/update-ui.yml
2025-07-24 15:20:16 +02:00

68 lines
1.9 KiB
YAML

name: Update lsfg-vk-ui app image
on:
push:
branches: ["develop"]
jobs:
update-ui:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Prepare cache for pacman packages
uses: actions/cache@v4
with:
path: /var/cache/pacman/pkg
key: archlinux-pacman-cache
- name: Create cache directories
run: |
mkdir -p /root/.cargo
mkdir -p /root/.rustup
- name: Prepare cache for rustup
uses: actions/cache@v4
with:
path: /root/.rustup
key: archlinux-rustup-cache
- name: Prepare cache for cargo
uses: actions/cache@v4
with:
path: /root/.cargo
key: archlinux-cargo-cache
- name: Install build dependencies
run: |
pacman -Syu --noconfirm \
base-devel git \
clang llvm \
rustup gcc \
cmake ninja \
vulkan-headers vulkan-icd-loader \
xorg wayland wayland-protocols mesa-utils \
wget gdk-pixbuf2 gtk4 libadwaita fuse
- name: Update Rust toolchain
run: |
rustup default stable
- name: Update Cargo tools
run: |
cargo install cargo-appimage
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Grab continuous appimagetool
run: |
wget -O appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool
./appimagetool --appimage-extract
mv squashfs-root/usr/bin/* ui/
- name: Build UI with Cargo
run: |
cd ui
PATH=$PATH:$PWD cargo appimage
cd ..
mv ui/target/appimage/ui.AppImage lsfg-vk-ui.AppImage
- name: Upload lsfg-vk artifact
uses: actions/upload-artifact@v4
with:
name: lsfg-vk-ui
path: |
lsfg-vk-ui.AppImage