Параллелизм действий GitHub
Я создаю рабочий процесс в GitHub Actions, и у меня возникают проблемы с параллелизмом и блокируемыми ресурсами.
У меня есть работа, которая запускает модульные тесты на определенном ресурсе. У меня есть пул различных ресурсов, которые можно тестировать, но одновременно можно тестировать только один из них.
Поэтому я создал такой вызов рабочего процесса и установил свою группу параллелизма на основе имени моего ресурса.
on:
workflow_call:
inputs:
array:
type: string
required: true
concurrency:
group: pytest-${{ inputs.array }}
cancel-in-progress: false
jobs:
test:
...
Рабочий процесс, который вызывает описанный выше рабочий процесс, запускается при выполнении push-уведомления, поэтому один и тот же рабочий процесс может быть запущен одновременно. Я хочу иметь возможность протестировать ресурс, который в настоящее время не тестируется. Поэтому я попытался создать второе задание, которое вызывало бы рабочий процесс с другим именем ресурса, если бы оно было отменено. Но я получаю сообщение об ошибке, в котором говорится, что мне не разрешено это делать, поскольку я не могу вызвать рабочий процесс, очередь которого заполнена.
on:
workflow_call:
inputs:
array:
type: string
required: true
concurrency:
group: pytest-${{ inputs.array }}
cancel-in-progress: false
jobs:
test:
...
test_diff_array:
needs: [test]
if: {{ cancelled() }}
uses: this/workflow/path@master
with:
array: diff_array_name
Так что хз что делать. Есть ли какой-нибудь блокируемый пул ресурсов, такой как Дженкинс? Или ш
PS Я не хочу использовать какие-либо публичные действия github.
Я пытался найти способы сделать запираемые ресурсы, как в Jenkins. Пробовал использовать параллелизм github