2323 steps :
2424 # Verifica tu repositorio bajo $GITHUB_WORKSPACE, para que tu trabajo pueda acceder a él
2525 - uses : actions/checkout@v4
26+ with :
27+ fetch-depth : 0 # Necesario para trabajar con ramas
2628
2729 - name : Configurar Go
2830 uses : actions/setup-go@v4
3335 run : go install github.com/packwiz/packwiz@latest
3436
3537 - name : Añadir bin de Go al PATH
36- run : echo "$HOME/go/bin" >> $GITHUB_PATH
38+ run : echo "$HOME/go/bin" >> $GITHUB_PATH
39+
40+ - name : Configurar usuario de Git
41+ run : |
42+ git config --global user.name "GitHub Action"
43+ git config --global user.email "action@github.com"
44+
45+ - name : Preparar rama mod-list
46+ run : |
47+ # Verificar si la rama mod-list existe y crear o cambiar a ella
48+ if git ls-remote --heads origin mod-list | grep -q 'mod-list'; then
49+ echo "La rama mod-list existe, cambiando a ella"
50+ git checkout mod-list
51+ else
52+ echo "La rama mod-list no existe, creándola"
53+ git checkout -b mod-list
54+ fi
3755
3856 - name : Generar lista de mods
3957 run : |
@@ -466,9 +484,28 @@ jobs:
466484 </html>
467485 EOL
468486
487+ # Crear un archivo README para la rama
488+ cat > README.md << 'EOL'
489+ # TorkenMon Mods List
490+
491+ Esta rama contiene los archivos necesarios para mostrar la lista de mods del modpack TorkenMon.
492+
493+ ## Archivos
494+
495+ - `mods.html`: Página web con la lista de mods y funcionalidad de búsqueda
496+ - `mods-data.json`: Datos de los mods en formato JSON
497+
498+ ## Actualización
499+
500+ Esta rama se actualiza automáticamente mediante GitHub Actions cada vez que hay cambios en la rama principal del repositorio.
501+
502+ Última actualización: $(date '+%Y-%m-%d %H:%M:%S')
503+ EOL
504+
469505 # Procesar la salida de packwiz list y generar un archivo JSON
470506 python3 -c '
471507 import json
508+ import datetime
472509
473510 mods_data = []
474511 with open("mods-raw.txt", "r") as file:
@@ -480,13 +517,33 @@ jobs:
480517 "name": line
481518 })
482519
520+ # Añadir metadatos
521+ metadata = {
522+ "mods": mods_data,
523+ "total": len(mods_data),
524+ "updated_at": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
525+ }
526+
483527 # Guardar los datos como JSON
484528 with open("mods-data.json", "w") as json_file:
485- json.dump(mods_data , json_file, ensure_ascii=False, indent=2)
529+ json.dump(metadata , json_file, ensure_ascii=False, indent=2)
486530 '
487531
488532 # Limpiar el archivo temporal
489533 rm -f mods-raw.txt
534+
535+ - name : Commit y push de los cambios
536+ run : |
537+ # Obtener la fecha y hora actual
538+ DATETIME=$(date '+%Y-%m-%d %H:%M:%S')
539+
540+ # Añadir los archivos generados
541+ git add mods.html mods-data.json README.md
542+
543+ # Hacer commit con la fecha y hora
544+ git commit -m "Actualización de lista de mods: $DATETIME"
545+
546+ # Push a la rama mod-list
547+ git push -u origin mod-list
490548
491- # Imprimir un mensaje de éxito
492- echo "✅ Generación de mods.html completada en la raíz del repositorio"
549+ echo "✅ Rama mod-list actualizada con la lista de mods más reciente"
0 commit comments