sysarmy / disneyland

En este repo consolidamos ideas y propuestas que llegan y surgen en la comunidad. Cualquier persona puede comentar en los issues, proponer y también asignarse los issues para hacerlos. Pueden agregar un comment y tomar ownership.
Creative Commons Zero v1.0 Universal
107 stars 23 forks source link

Adminbirrator 🤖 #123

Closed Nachichuri closed 2 years ago

Nachichuri commented 2 years ago

Buenas,

Bueno en #120 se habló de la idea de tener un Calendar público donde la gente pueda suscribir y que tenga eventos de Sysarmy/Nerdearla, y también de la idea de tener un action que lo updatee solo con PRs que lleguen a Disneyland. Como no encontramos un action que lo haga, básicamente lo terminé scripteando xD

No es gran cosa pero lee un YAML con eventos y le pega a la API de Google Calendar de GCP para crear/updatear eventos, y también para borrar los eventos que no estén en el YAML.

Acá un output de ejecución donde se ve más o menos como funciona:

2022-05-23 18:24:12 - main/<module> - INFO - Comenzando ejecución...

         _       _           _       _     _                _
        / \   __| |_ __ ___ (_)_ __ | |__ (_)_ __ _ __ __ _| |_ ___  _ __
       / _ \ / _` | '_ ` _ \| | '_ \| '_ \| | '__| '__/ _` | __/ _ \| '__|
      / ___ \ (_| | | | | | | | | | | |_) | | |  | | | (_| | || (_) | |
     /_/   \_\__,_|_| |_| |_|_|_| |_|_.__/|_|_|  |_|  \__,_|\__\___/|_|

2022-05-23 18:24:12 - helpers/get_calendar_service - INFO - Autenticación exitosa con API de Google Calendar.
2022-05-23 18:24:12 - helpers/filter_events - INFO - Descartados 2 eventos pasados.
2022-05-23 18:24:13 - main/<module> - INFO - Actualizando 1 evento creado en el calendario...
2022-05-23 18:24:13 - main/<module> - INFO - Actualizando evento 20220607-Polemica...
2022-05-23 18:24:14 - helpers/parse_api_response - INFO - Evento Polemica en /var - Noticias Mayo del día 2022-06-07 a las 21:00hs actualizado exitosamente.
2022-05-23 18:24:14 - main/<module> - INFO - Creando 1 evento nuevo en el calendario...
2022-05-23 18:24:14 - main/<module> - INFO - Creando evento 20220707-Polemica...
2022-05-23 18:24:15 - helpers/parse_api_response - INFO - Evento Polemica en /var - Noticias Junio del día 2022-07-07 a las 21:00hs creado exitosamente.
2022-05-23 18:24:16 - main/clean_orphans - INFO - Buscando eventos huérfanos no registrados en el YAML...
2022-05-23 18:24:16 - main/clean_orphans - WARNING - Detectados 2 eventos huérfanos que serán eliminados del Calendar.
2022-05-23 18:24:16 - main/clean_orphans - WARNING - Eliminando evento Boilerplate1 del 2022-05-24 a las 22:00hs...
2022-05-23 18:24:17 - main/clean_orphans - WARNING - Eliminando evento Boilerplate2 del 2022-05-25 a las 22:00hs...
2022-05-23 18:24:19 - main/<module> - INFO - Ejecución finalizada.

    🤖 My job here is done ¯\_(ツ)_/¯
    🤖 Owner root@sysarmy.com

En estos días completo el README para explicar más o menos como usarlo pero básicamente con hacer un PR que modifique el archivo events.yaml debería impactar en el Calendar.

Sería importante antes de mergear que darle permisos a la service account (adminbirrator@adminbirrator.iam.gserviceaccount.com) al Calendar y también agregar 2 secrets en las configs del repo porque sino no va a caminar.

Open to suggestions de cualquier tipo :)