Cristian Pérez
Estoy tratando de configurar un flujo de trabajo en una rama llamada workflow-test
. Tiene que ejecutarse en un horario y funcionar cada 24 horas. Este flujo de trabajo tiene que ejecutar una secuencia de comandos de python y confirmar y enviar los cambios realizados por la secuencia de comandos de python. Lo conseguí para trabajar en los empujones, pero no parece funcionar en los horarios. Revisé todas las preguntas relacionadas con este tema y probé todas las soluciones, pero fue en vano.
Este es mi código:
name: update-state
on:
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v2
with:
ref: workflow-test
- name: Setup python
uses: actions/setup-python@v1
with:
python-version: '3.x'
- name: Execute script
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python scripts/script.py
- name: Commit files
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add -A
git commit -m "update data" -a
- name: Push changes
uses: ad-m/github-push-action@v0.6.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: workflow-test
Esto es lo que he probado:
- Ejecute un programa en la rama maestra, lo que debería activar el programa para que funcione en la otra rama, de acuerdo con una respuesta de desbordamiento de pila;
- Añade el
with: ref: branch
-parte.
También intenté simplemente activar este flujo de trabajo en un empujón, lo que funcionó. Todo funcionó y funcionó. Esto fue sin el with: ref: branch
-parte. Pero por lo que entiendo, eso es necesario cuando se trabaja con un cronograma porque el cronograma se verifica hasta la última confirmación de la rama predeterminada, por lo que debe cambiarse a la rama en la que está trabajando.
Ni siquiera parece intentar ejecutar este flujo de trabajo. No da ningún registro de intentar ejecutar este flujo de trabajo en la pestaña “acciones”. Por lo tanto, creo que el problema radica en el schedule
en parte, ya que funciona en push y ni siquiera se ejecuta cuando se trabaja en un horario.
También intenté agregar un flujo de trabajo simple a tiempo a mi master
rama, que se ejecuta. Pero cuando agrego este flujo de trabajo simple a tiempo a mi workflow-test
rama, ya no funciona.
No puedo encontrar más correcciones en el desbordamiento de pila, documentación o en cualquier otro lugar. Así que decidí abrir mi propia pregunta. Espero que alguien pueda ayudarme. Gracias de antemano :).
Editar: este flujo de trabajo actualiza los datos utilizados por un sitio web.
-
¡Sí, esto funcionó! Muchas gracias por tu solución. Sin embargo, la documentación parece ser bastante deficiente entonces. En ninguna parte de la documentación se establece claramente que los flujos de trabajo programados deben residir en el
master
rama. Además, ninguna otra solución (de lo que pude encontrar) mencionó esta solución.–Cristian Pérez
16 de agosto de 2020 a las 12:49
-
Sí. GitHub a veces se refiere a la
master
rama como la “rama predeterminada”, ya que puede ser algo diferente amaster
para algunas personas.– DannyB
16 de agosto de 2020 a las 12:54
¿El archivo de flujo de trabajo está comprometido con la rama maestra?
– DannyB
16 de agosto de 2020 a las 12:23
Tampoco funciona en una rama no predeterminada para mí. Parece que falta documentación al respecto.
– riQQ
16 de agosto de 2020 a las 12:29