Verificar que compila no basta para un cambio que se ve: la barra de pestañas hay que MIRARLA. El job nuevo construye el .exe de Windows y lo cuelga de la ejecución como artifact, sin tocar Releases ni el updater. Así se puede probar el cambio en la app de verdad antes de publicárselo al equipo, que en la práctica no tiene vuelta atrás porque las apps instaladas se actualizan solas. Firma con la clave del repo porque tauri.conf.json pide artefactos de updater; el .exe se queda en el artifact igualmente. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
103 líneas
3.1 KiB
YAML
103 líneas
3.1 KiB
YAML
name: Verificar compilación (sin publicar)
|
|
|
|
# Comprueba que el shell COMPILA en Windows y macOS sin construir instaladores ni tocar
|
|
# Releases. Sirve para revisar un cambio en una rama antes de etiquetar la versión: el
|
|
# workflow de publicar solo se dispara con etiquetas `v*`, así que hasta ahora no había
|
|
# forma de saber si algo compilaba sin publicarlo.
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read # solo lee el repo: no crea releases ni sube nada
|
|
|
|
jobs:
|
|
check:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [windows-latest, macos-latest]
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- name: Clonar repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Instalar Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Instalar Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
|
|
- name: Cache de Rust
|
|
uses: swatinem/rust-cache@v2
|
|
with:
|
|
workspaces: src-tauri
|
|
|
|
- name: Instalar dependencias
|
|
run: npm install
|
|
|
|
# build.rs de Tauri valida que existan los iconos que declara tauri.conf.json.
|
|
- name: Generar iconos (desde app-icon.png)
|
|
run: npm run icons
|
|
|
|
- name: cargo check
|
|
working-directory: src-tauri
|
|
run: cargo check --all-targets
|
|
|
|
# Avisa de errores reales de Clippy sin tumbar la verificación por avisos de estilo.
|
|
- name: cargo clippy (informativo)
|
|
working-directory: src-tauri
|
|
continue-on-error: true
|
|
run: cargo clippy --all-targets
|
|
|
|
# Instalador de PRUEBA para Windows. Queda colgado de la ejecución como artifact y no
|
|
# toca Releases ni el updater: sirve para VER el cambio funcionando antes de publicárselo
|
|
# a todo el equipo, que es irreversible en la práctica (las apps se actualizan solas).
|
|
instalador-prueba:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Clonar repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Instalar Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Instalar Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Cache de Rust
|
|
uses: swatinem/rust-cache@v2
|
|
with:
|
|
workspaces: src-tauri
|
|
|
|
- name: Instalar dependencias
|
|
run: npm install
|
|
|
|
- name: Generar iconos (desde app-icon.png)
|
|
run: npm run icons
|
|
|
|
# La firma hace falta porque tauri.conf.json pide artefactos de updater; el .exe se
|
|
# queda igualmente aquí, sin publicarse en ningún sitio.
|
|
- name: Construir el instalador (NSIS)
|
|
env:
|
|
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
|
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
|
run: npm run tauri build -- --bundles nsis
|
|
|
|
- name: Guardar el instalador como artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: instalador-windows-prueba
|
|
path: src-tauri/target/release/bundle/nsis/*.exe
|
|
retention-days: 14
|