Agregar mejoras PWA y unificar workflow a 1 job
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m6s

- Agregar id único (/?app=lotes), launch_handler, handle_links y url_handlers
- Unificar workflow de 2 jobs (build + deploy) a 1 solo job
- Workaround para bug de Gitea que solo ejecuta el primer job
This commit is contained in:
2025-10-17 03:38:24 -06:00
parent 482eafb8b4
commit fe2e400926
2 changed files with 21 additions and 22 deletions

View File

@@ -5,11 +5,20 @@ on:
branches: [ master ] branches: [ master ]
jobs: jobs:
#───────────────── build & push ───────────────── #───────────────── build, push & deploy (unified) ─────────────────
build: build-and-deploy:
runs-on: docker runs-on: docker
env: env:
REG: ${{ vars.REGISTRY_URL }} REG: ${{ vars.REGISTRY_URL }}
# Variables de entorno para docker-compose
APP_DOMAIN: ${{ vars.APP_DOMAIN }}
NUXT_OAUTH_AUTHENTIK_CLIENT_ID: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_ID }}
NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET }}
NUXT_OAUTH_AUTHENTIK_SERVER_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL }}
NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL }}
NUXT_OAUTH_AUTHENTIK_REDIRECT_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_REDIRECT_URL }}
NUXT_PUBLIC_APP_URL: ${{ vars.NUXT_PUBLIC_APP_URL }}
NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2 - uses: docker/setup-buildx-action@v2
@@ -26,26 +35,6 @@ jobs:
docker push $REG/seguidor-lotes:${{ github.sha }} docker push $REG/seguidor-lotes:${{ github.sha }}
docker push $REG/seguidor-lotes:latest docker push $REG/seguidor-lotes:latest
#───────────────── deploy ─────────────────
deploy:
needs: build
runs-on: docker
env:
REG: ${{ vars.REGISTRY_URL }}
# Variables de entorno para docker-compose
APP_DOMAIN: ${{ vars.APP_DOMAIN }}
NUXT_OAUTH_AUTHENTIK_CLIENT_ID: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_ID }}
NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET }}
NUXT_OAUTH_AUTHENTIK_SERVER_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL }}
NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL }}
NUXT_OAUTH_AUTHENTIK_REDIRECT_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_REDIRECT_URL }}
NUXT_PUBLIC_APP_URL: ${{ vars.NUXT_PUBLIC_APP_URL }}
NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }}
steps:
- uses: actions/checkout@v3
- name: Login to registry
run: docker login ${{ vars.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }}
- name: Info about environment - name: Info about environment
run: | run: |
echo " Deploying Seguidor de Lotes" echo " Deploying Seguidor de Lotes"

View File

@@ -31,6 +31,7 @@ export default defineNuxtConfig({
pwa: { pwa: {
registerType: 'autoUpdate', registerType: 'autoUpdate',
manifest: { manifest: {
id: '/?app=lotes',
name: 'Seguidor de Lotes', name: 'Seguidor de Lotes',
short_name: 'Lotes', short_name: 'Lotes',
description: 'Aplicación para seguimiento y gestión de lotes', description: 'Aplicación para seguimiento y gestión de lotes',
@@ -38,8 +39,17 @@ export default defineNuxtConfig({
display: 'standalone', display: 'standalone',
background_color: '#1f2730', background_color: '#1f2730',
theme_color: '#1f2730', theme_color: '#1f2730',
// Control de ventanas - mantener una sola ventana
launch_handler: {
client_mode: 'navigate-existing'
},
// Capturar enlaces dentro de la app // Capturar enlaces dentro de la app
capture_links: 'existing-client-navigate', capture_links: 'existing-client-navigate',
// URL handling - nuevo estándar para manejar links a esta PWA
handle_links: 'preferred',
url_handlers: [
{ origin: 'https://seguidordelotes.nucleoriofrio.com' }
],
icons: [ icons: [
{ {
src: 'icon-16x16.png', src: 'icon-16x16.png',