Я пытаюсь настроить рабочий процесс в ветке workflow-test
. Он должен работать по расписанию и запускаться каждые 24 часа. Этот рабочий процесс должен запускать скрипт python и фиксировать и отправлять изменения, сделанные скриптом python. Я заставил его работать с толчками, но, похоже, он не работает по расписанию. Я просмотрел все вопросы по этой теме и попробовал все решения, но безрезультатно.
Это мой код:
name: update-state
on:
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/[email protected]
with:
ref: workflow-test
- name: Setup python
uses: actions/[email protected]
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 "[email protected]"
git config --local user.name "GitHub Action"
git add -A
git commit -m "update data" -a
- name: Push changes
uses: ad-m/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: workflow-test
Вот что я пробовал:
- Запустите расписание в главной ветке, которое должно запустить расписание для работы в другой ветке в соответствии с ответом о переполнении стека;
- Добавьте
with: ref: branch
-часть.
Я также попытался запустить этот рабочий процесс нажатием кнопки, и это сработало. Все работало и работало. Это было без with: ref: branch
-части. Но насколько я понимаю, это необходимо при работе с расписанием, потому что расписание проверяется до последней фиксации ветки по умолчанию, поэтому его нужно изменить на ветку, над которой вы работаете.
Кажется, он даже не пытается запустить этот рабочий процесс. Он не дает записи о попытках запустить этот рабочий процесс на вкладке действий. Таким образом, я считаю, что проблема заключается в части schedule
, поскольку она работает по нажатию и даже не запускается при работе по расписанию.
Я также попытался добавить простой рабочий процесс по расписанию в свою ветку master
, которая работает. Но когда я добавляю этот простой рабочий процесс по расписанию в свою ветку workflow-test
, он больше не запускается.
Я больше не могу найти исправлений переполнения стека, документации или где-либо еще. Таким образом, я решил открыть свой вопрос. Я надеюсь, что кто-то может мне помочь. Заранее спасибо :).
Изменить: этот рабочий процесс обновляет данные, используемые веб-сайтом.
Сохранен ли файл рабочего процесса в главной ветке? — person Cristian Perez schedule 16.08.2020
У меня это тоже не работает в ветке не по умолчанию. Похоже, что документации по этому поводу не хватает. — person Cristian Perez schedule 16.08.2020
Запланированные действия GitHub выполняются в стандартной или базовой ветке, как указано в документация:
Это означает, что ваш файл рабочего процесса должен быть привязан к ветке
master
. Затем он может извлекать код из других веток, но сам файл рабочего процесса должен находиться вmaster
.Вот самый минимальный пример, демонстрирующий, как это работает.
Это действие выполняется каждые 5 минут (
*/5
) и перечисляет файлы в веткеdebug
.Да, это сработало! Большое спасибо за ваше решение. Однако тогда документации, похоже, совсем не хватает. В документации нет четкого указания, что запланированные рабочие процессы должны находиться в ветке
master
. Также никакие другие решения (из того, что я мог найти) не упоминали об этом решении. — person Cristian Perez; 16.08.2020да. GitHub иногда называет ветвь
master
веткой по умолчанию, поскольку для некоторых людей это может быть что-то иное, чемmaster
. — person Cristian Perez; 16.08.2020