https://github.com/patgeo117/automata
Este proyecto usa GitHub Actions para hacer commits diarios automáticos, actualizando un archivo con la fecha y hora. Funciona con un Token de Acceso Personal (PAT) configurado como secreto en GitHub.
https://github.com/patgeo117/automata
automation bot ci-cd cron-jobs daily-commit developer-tools git github-actions personal-project workflow-automation
Last synced: 15 days ago
JSON representation
Este proyecto usa GitHub Actions para hacer commits diarios automáticos, actualizando un archivo con la fecha y hora. Funciona con un Token de Acceso Personal (PAT) configurado como secreto en GitHub.
- Host: GitHub
- URL: https://github.com/patgeo117/automata
- Owner: patgeo117
- Created: 2024-12-27T20:38:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-13T12:27:57.000Z (about 1 year ago)
- Last Synced: 2025-03-13T13:30:24.217Z (about 1 year ago)
- Topics: automation, bot, ci-cd, cron-jobs, daily-commit, developer-tools, git, github-actions, personal-project, workflow-automation
- Homepage: https://patgeo117.github.io/Automata/
- Size: 44.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bot de Commits Diarios usando GitHub Actions
Este proyecto utiliza **GitHub Actions** para automatizar la tarea de realizar un commit diario en este repositorio. El bot genera un archivo llamado `archivo_diario.txt` donde agrega la fecha y hora de cada actualización automáticamente.
## Características
- Realiza commits diarios sin intervención manual.
- Funciona directamente desde GitHub Actions, por lo que no depende de un servidor o computadora personal.
- El commit incluye la fecha y hora exacta del cambio.
- Configurado para ejecutarse diariamente a las **12:00 PM (hora local de Colombia)**, equivalente a **12:00 UTC**.
---
## Configuración del workflow
El workflow está definido en el archivo `.github/workflows/commit-daily.yml` con el siguiente contenido:
```yaml
name: Commit Diario
on:
schedule:
- cron: '00 12 * * *' # Ejecutar a las 12:00 UTC cada día
jobs:
commit-job:
runs-on: ubuntu-latest
steps:
- name: Clonar el repositorio
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_TOKEN }} # Usar token para autenticación
- name: Modificar o añadir archivo
run: |
echo "Actualización del día: $(date)" >> archivo_diario.txt
- name: Configurar Git
run: |
git config --global user.name "Daily Commit Bot"
git config --global user.email "tu-id+username@users.noreply.github.com"
- name: Hacer commit y push
run: |
git add .
git commit -m "Commit automático: $(date)"
git push
```
---
## Cómo funciona
1. **Clonar el repositorio**: GitHub Actions clona el repositorio automáticamente.
2. **Modificar o crear archivo**: El archivo `archivo_diario.txt` se actualiza con la fecha actual.
3. **Configurar Git**: Se establece el nombre y correo para los commits realizados por el bot.
4. **Realizar commit y push**: Los cambios se comiten y suben automáticamente al repositorio remoto.
---
## Configuración del cron
El cron está configurado para ejecutarse diariamente a las **21:15 UTC**. Si deseas cambiar la hora:
- Usa el formato CRON: `minuto hora * * *`.
- Asegúrate de convertir tu hora local a UTC. Por ejemplo, las 12:00 PM en Colombia (UTC-5) corresponden a las 12:00 UTC.
Ejemplo:
```yaml
cron: '00 12 * * *' # Para ejecutar a las 12:00 PM UTC
```
---
## Configuración del Token de Acceso Personal (PAT)
Para permitir que el bot haga commits automáticamente, es necesario crear y usar un **Token de Acceso Personal (PAT)** con permisos adecuados.
### Pasos para crear el Token:
1. **Generar un PAT**:
- Ve a [GitHub Token Settings](https://github.com/settings/tokens).
- Haz clic en **Generate new token**.
- Selecciona los permisos necesarios:
- **repo**: Para tener acceso de lectura y escritura a los repositorios.
- Copia el token generado (lo necesitarás en el siguiente paso).
2. **Agregar el Token como Secreto en GitHub**:
- En tu repositorio de GitHub, ve a **Settings** → **Secrets** → **New repository secret**.
- Crea un secreto llamado `GH_TOKEN` y pega el token que copiaste en el paso anterior.
3. **Actualizar el workflow para usar el Token**:
En el archivo `commit-daily.yml`, asegúrate de incluir el token en la sección de **checkout**:
```yaml
- name: Clonar el repositorio
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_TOKEN }} # Usar token para autenticación
```
---
## Personalización
- **Nombre del bot**: Cambiado a `Daily Commit Bot` para identificarlo en los logs.
- **Correo del bot**: Configurado como `tu-id+username@users.noreply.github.com` para mantener privacidad y autenticidad.
---
## Cómo probar el bot manualmente
1. Ve a la pestaña **Actions** en el repositorio.
2. Selecciona el workflow llamado **Commit Diario**.
3. Haz clic en **Run workflow** para ejecutarlo manualmente y verificar su funcionamiento.
---
## Beneficios
- Automatización total: No se necesita intervención manual.
- Independencia: Funciona desde GitHub sin depender de infraestructura externa.
- Simplicidad: Configuración mínima y mantenimiento prácticamente nulo.