Skip to content

[fix] solution for githbu action #87

[fix] solution for githbu action

[fix] solution for githbu action #87

Workflow file for this run

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