По сути, вам нужна информация git diff и считывать оттуда все измененные файлы.
Событие Pu sh GitHub Actions не включает список измененные файлы. Это означает, что вы должны всегда запускать рабочий процесс на pu sh, а затем проверять файлы, которые были изменены с помощью обычного REST API. https://docs.github.com/en/actions/reference/events-that-trigger-workflows#push
Примечание. Полезная нагрузка веб-перехватчика, доступная для GitHub Actions, не включает добавленные, удаленные и измененные атрибуты в объекте фиксации. Вы можете получить полный объект фиксации с помощью REST API. Для получения дополнительной информации см. «Получить одну фиксацию».
Вы можете использовать действие JavaScript в сочетании с клиентом OctoKit (https://github.com/actions/toolkit). Если вы используйте один из набора инструментов, он уже будет аутентифицирован.
OctoKit можно использовать для упрощения вызовов REST. См. ответ 200 по умолчанию в https://docs.github.com/en/rest/reference/repos#get -a-commit
...
"files": [
{
"filename": "file1.txt",
"additions": 10,
"deletions": 2,
"changes": 12,
"status": "modified",
"raw_url": "https://github.com/octocat/Hello-World/raw/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt",
"blob_url": "https://github.com/octocat/Hello-World/blob/7ca483543807a51b6079e54ac4cc392bc29ae284/file1.txt",
"patch": "@@ -29,7 +29,7 @@\n....."
}
]
...
Если поле files содержит файл .py, отмените рабочий процесс. Вы можете отменить рабочий процесс непосредственно из самого JS:
core.setFailed(error.message);
Если ядро является вашим Клиент OctoKit.