[fix] solution for githbu action #87
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Build | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - '**.md' | |
| - '.gitignore' | |
| workflow_dispatch: | |
| jobs: | |
| check-release: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_release: ${{ steps.check.outputs.should_release }} | |
| version: ${{ steps.check.outputs.version }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Check for [release] in commit message | |
| id: check | |
| run: | | |
| COMMIT_MSG=$(git log -1 --pretty=%B) | |
| if echo "$COMMIT_MSG" | grep -q "\[release\]"; then | |
| echo "should_release=true" >> $GITHUB_OUTPUT | |
| # Extract version from package.json | |
| VERSION=$(grep -oP '"version":\s*"\K[^"]+' package.json) | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| echo "Release triggered with version $VERSION" | |
| else | |
| echo "should_release=false" >> $GITHUB_OUTPUT | |
| echo "No [release] tag found in commit message" | |
| fi | |
| build-deb: | |
| needs: check-release | |
| if: needs.check-release.outputs.should_release == 'true' | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-dev \ | |
| build-essential \ | |
| curl \ | |
| wget \ | |
| file \ | |
| libxdo-dev \ | |
| libssl-dev \ | |
| libayatana-appindicator3-dev \ | |
| librsvg2-dev | |
| - name: Install dependencies | |
| run: npm install | |
| - name: Build Tauri .deb | |
| run: npm run tauri build -- --bundles deb | |
| - name: Rename .deb file | |
| run: | | |
| VERSION="${{ needs.check-release.outputs.version }}" | |
| DEB_FILE=$(find src-tauri/target/release/bundle/deb -name "*.deb" -type f) | |
| mv "$DEB_FILE" "Klia-Store-${VERSION}.deb" | |
| - name: Upload .deb artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: deb-package | |
| path: Klia-Store-*.deb | |
| build-flatpak: | |
| needs: check-release | |
| if: needs.check-release.outputs.should_release == 'true' | |
| runs-on: ubuntu-22.04 # Usamos la máquina directo, SIN container | |
| steps: | |
| # 1. LA SOLUCIÓN AL ESPACIO: Borramos .NET, Android, Docker, Swap | |
| # Esto nos da ~70GB libres en lugar de 14GB. | |
| - name: Maximize Build Space | |
| uses: easimon/maximize-build-space@master | |
| with: | |
| root-reserve-mb: 2048 | |
| swap-size-mb: 1024 | |
| remove-dotnet: 'true' | |
| remove-android: 'true' | |
| remove-haskell: 'true' | |
| remove-codeql: 'true' | |
| remove-docker-images: 'true' | |
| - uses: actions/checkout@v4 | |
| # 2. Instalamos Flatpak en el host | |
| - name: Install Flatpak & Builder | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y flatpak flatpak-builder | |
| # Agregamos el repo de Flathub | |
| flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
| # 3. Instalamos los SDKs necesarios (Igual que en tu YAML) | |
| - name: Install Runtime & SDKs | |
| run: | | |
| flatpak install --user -y flathub org.gnome.Sdk//49 org.gnome.Platform//49 | |
| flatpak install --user -y flathub org.freedesktop.Sdk.Extension.rust-stable//24.08 | |
| flatpak install --user -y flathub org.freedesktop.Sdk.Extension.node20//24.08 | |
| # 4. Compilamos (Offline mode gracias a tus json) | |
| - name: Build Flatpak | |
| # Nota: --sandbox evita que contamine tu home, --force-clean borra intentos previos | |
| run: | | |
| flatpak-builder --repo=repo --force-clean build-dir io.github.N3kosempai.klia-store.yml | |
| # Generamos el bundle final | |
| flatpak build-bundle repo Klia-Store-${{ needs.check-release.outputs.version }}.flatpak io.github.N3kosempai.klia-store | |
| - name: Upload Flatpak artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: flatpak-package | |
| path: Klia-Store-*.flatpak |