Skip to content

mejorar vista

mejorar vista #112

Workflow file for this run

name: Deploy to GitHub Pages
on:
push:
branches: [main] # Desencadena el flujo de trabajo cada vez que se hace push a la rama 'main'
workflow_dispatch: # Permite ejecutar el flujo de trabajo manualmente desde la pestaña de Actions en GitHub
permissions:
contents: write # Permite escribir contenidos en el repositorio
pages: write # Permite escribir páginas en GitHub Pages
id-token: write # Permite escribir tokens de identificación
jobs:
changes:
runs-on: ubuntu-latest # Ejecuta este trabajo en un contenedor Ubuntu más reciente
outputs:
src: ${{ steps.changes.outputs.src }} # Salida para cambios en archivos fuente
infra: ${{ steps.changes.outputs.infra }} # Salida para cambios en la infraestructura
steps:
- uses: actions/checkout@v4 # Clona el repositorio
- uses: dorny/paths-filter@v3 # Filtra cambios en los archivos especificados
id: changes
with:
filters: |
src:
- 'src/cv_info/cv.js' # Archivos que se monitorizan para cambios
- 'src/pages/en/cv.astro'
- 'src/pages/es/cv.astro'
build:
runs-on: ubuntu-latest # Ejecuta este trabajo en un contenedor Ubuntu más reciente
steps:
- name: Checkout your repository using git
uses: actions/checkout@v4 # Clona el repositorio
- name: Install, build, and upload your site
uses: withastro/action@v2 # Usa Astro para construir y subir el sitio
with:
node-version: 20 # Versión de Node.js a usar
package-manager: npm@latest # Administrador de paquetes a usar (npm en su versión más reciente)
deploy:
needs: build # Este trabajo depende del trabajo 'build'
runs-on: ubuntu-latest # Ejecuta este trabajo en un contenedor Ubuntu más reciente
environment:
name: github-pages # Nombre del entorno de despliegue
url: ${{ steps.deployment.outputs.page_url }} # URL de la página desplegada
outputs:
page_url: ${{ steps.deployment.outputs.page_url }} # Salida con la URL de la página desplegada
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # Despliega el sitio en GitHub Pages
generate-pdf:
if: ${{ needs.changes.outputs.src == 'true' }} # Este trabajo se ejecuta solo si hay cambios en los archivos fuente especificados
needs: [build, deploy, changes] # Este trabajo depende de los trabajos 'build', 'deploy' y 'changes'
runs-on: ubuntu-latest # Ejecuta este trabajo en un contenedor Ubuntu más reciente
env:
PROD: ${{ vars.PROD }} # Define la variable de entorno PROD
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }} # Clona el repositorio en la rama actual
- name: Install dependencies
run: npm install # Instala las dependencias necesarias
- name: Generate PDFs
run: npm run GPDF # Genera archivos PDF
- name: Commit and push changes
env:
GITHUB_TOKEN: ${{ secrets.MY_TOKEN }} # Utiliza el token de GitHub para autenticarse
uses: stefanzweifel/git-auto-commit-action@v5 # Realiza commit y push de los cambios
with:
commit_message: Update PDFs # Mensaje del commit
build-and-deploy-pdf:
# Este trabajo se ejecuta solo si 'generate-pdf' fue exitoso
if: ${{ needs.generate-pdf.result == 'success' }}
needs: generate-pdf # Este trabajo depende del trabajo 'generate-pdf'
runs-on: ubuntu-latest # Ejecuta este trabajo en un contenedor Ubuntu más reciente
steps:
- name: Checkout your repository using git
uses: actions/checkout@v4 # Clona el repositorio
- name: Install, build, and upload your site
uses: withastro/action@v2 # Usa Astro para construir y subir el sitio
with:
node-version: 20 # Versión de Node.js a usar
package-manager: npm@latest # Administrador de paquetes a usar (npm en su versión más reciente)
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@v4 # Despliega el sitio en GitHub Pages