From 8235ed213fa2485dcbcc4f0c907215ba61ce2775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kazimierz=20Cio=C5=82ek?= Date: Thu, 19 Feb 2026 15:45:31 +0100 Subject: [PATCH] Modified config files for Linux --- .gitea/workflows/build-linux.yaml | 54 ++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build-linux.yaml b/.gitea/workflows/build-linux.yaml index 8bebd55..7a043a9 100644 --- a/.gitea/workflows/build-linux.yaml +++ b/.gitea/workflows/build-linux.yaml @@ -2,13 +2,12 @@ name: Build Linux App on: push: - branches: [ "main", "master" ] # Uruchomi się, gdy zrobisz push na te gałęzie + branches: [ "main", "master" ] jobs: build: runs-on: ubuntu-latest container: - # Używamy gotowego kontenera z zainstalowanym już Flutterem! image: ghcr.io/cirruslabs/flutter:latest steps: @@ -22,7 +21,7 @@ jobs: - name: Instalacja bibliotek systemowych dla Linux Desktop run: | - apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev lld + apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev lld file - name: Aktywacja wsparcia dla Linuxa run: flutter config --enable-linux-desktop @@ -33,8 +32,53 @@ jobs: - name: Zbudowanie aplikacji na Linuxa (Release) run: flutter build linux --release - - name: Udostępnienie gotowego pliku (Artifact) + - name: Przygotowanie struktury AppDir + run: | + mkdir -p AppDir/usr/bin + # Kopiujemy całą zawartość zbudowanej apki (plik wykonywalny, lib, data) + cp -r build/linux/x64/release/bundle/* AppDir/usr/bin/ + + # Tworzymy plik .desktop (konfiguracja dla systemu Linux) + cat < AppDir/trainhub.desktop + [Desktop Entry] + Version=1.0 + Type=Application + Terminal=false + Name=Trainhub + Exec=trainhub_flutter %u + Icon=trainhub + Categories=Utility; + EOF + + # Kopiujemy domyślną ikonę Fluttera jako ikonę aplikacji + cp linux/application_icon.png AppDir/trainhub.png + + # Tworzymy "AppRun" czyli skrót uruchamiający nasz plik wykonywalny + cd AppDir + ln -s usr/bin/trainhub_flutter AppRun + cd .. + + - name: Pobranie appimagetool i generowanie AppImage + run: | + # Pobieramy oficjalne narzędzie do tworzenia AppImage + wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" + chmod +x appimagetool + + export APPIMAGE_EXTRACT_AND_RUN=1 + + # Sklejamy folder AppDir w jeden plik AppImage! + ./appimagetool AppDir Trainhub-x86_64.AppImage + + # --- ZMIANA: TUTAJ UDOSTĘPNIAMY DWIE WERSJE --- + + - name: Udostępnienie gotowej aplikacji (wersja AppImage) uses: actions/upload-artifact@v3 with: - name: trainhub-linux-build + name: Trainhub-Linux-AppImage + path: Trainhub-x86_64.AppImage + + - name: Udostępnienie gotowej aplikacji (wersja ZIP - Fallback) + uses: actions/upload-artifact@v3 + with: + name: Trainhub-Linux-Portable-ZIP path: build/linux/x64/release/bundle/ \ No newline at end of file