#github-actions
Вопрос:
Я использую GitAction для запуска рабочего процесса с использованием матричного подхода, как показано ниже (упрощенно):
name: Functional Tests
...
jobs:
functional:
...
strategy:
matrix:
range:
- -e FT_FROM_IX=0 -e FT_TO_IX=300
- -e FT_FROM_IX=301 -e FT_TO_IX=600
- -e FT_FROM_IX=601 -e FT_TO_IX=900
- -e FT_FROM_IX=901 -e FT_TO_IX=1200
- -e FT_FROM_IX=1201
steps:
- uses: actions/checkout@v2
- name: Run functional test
run: |
docker run --network host -t --rm ${{ matrix.range }} -v $(pwd):/opt/fiware-orion ${{ env.TEST_IMAGE_NAME }} build -miqts functional
Это работает нормально, но я получаю уродливое описание на github, потому matrix.range
что значение отображается как часть имени задания:
Я хотел бы, чтобы мои задания были пронумерованы (например, функционально-1, функционально-2 и т.д.). Возможно ли это с помощью какого-либо выражения получить индекс элемента матрицы (что-то вроде ${{ matrix.range.index }}
) или любым другим способом?
Заранее спасибо!
Комментарии:
1. Эй, @fgalan, есть успехи?
2. Боюсь, пока не повезло 🙁 Было бы здорово, если бы сотрудники GitHub могли взглянуть на этот пост и что-нибудь рассказать 🙂
Ответ №1:
У меня был похожий вариант использования, я нашел простое решение:
- Измените диапазон матрицы на список объектов, содержащий
order
иrange
. - Объедините
order
с ключом заданияname
. - Используйте
range
ключ, как и раньше.
Надеюсь, действия на Github добавят индекс к заданиям матрицы, упрощая способ, которым мы различаем их.
name: Functional Tests
...
jobs:
functional:
name: functional - ${{ matrix.payload.order }}
...
strategy:
matrix:
payload:
- { order: 1, range: '-e FT_FROM_IX=0 -e FT_TO_IX=300' }
- { order: 2, range: '-e FT_FROM_IX=301 -e FT_TO_IX=600' }
- { order: 3, range: '-e FT_FROM_IX=601 -e FT_TO_IX=900' }
...
steps:
- uses: actions/checkout@v2
- name: Run functional test
run: |
docker run --network host -t --rm ${{ matrix.payload.range }} -v $(pwd):/opt/fiware-orion ${{ env.TEST_IMAGE_NAME }} build -miqts functional
Комментарии:
1. Спасибо! Это прекрасно работает 🙂 В качестве дополнительной информации порядок может быть также нечисловым полем, т. е.
order: 'f1'
2. Да, заказать можно все, что угодно, рад, что помог!