Задание действия Github рекурсирует структуру каталогов в качестве рабочего каталога?

#vagrant #github-actions #vagrantfile

Вопрос:

У меня есть следующая структура каталогов и одно действие на github. Я хочу запустить github aciton в каждой подпапке, например (centos7, centos8, ubuntu2004 …).

Как настроить действие github?

 .
├── centos7
│   └── Vagrantfile
├── centos8
│   └── Vagrantfile
├── ubuntu2004
    └── Vagrantfile
 
 name: vagrant-up

on: [push]

jobs:
    vagrant-up:
        runs-on: macos-10.15 
        steps:
            - uses: actions/checkout@v2

            - name: Run vagrant up
              run: |
                    vagrant up

            - name: package box
              run: | 
                    vagrant package --base vagrant-default --output default.box
 

Ответ №1:

Вы можете использовать матрицу. Пожалуйста, найдите ниже код, который должен работать для вас.

 name: vagrant-up

on: [push]

jobs:
    vagrant-up:
        runs-on: macos-10.15 
        strategy:
           matrix:
             Directory: [centos7, centos8, centos9]
        steps:
            - uses: actions/checkout@v2

            - name: Run vagrant up
              working-directory: ${{ matrix.Directory }}
              run: |
                    vagrant up

            - name: package box
              working-directory: ${{ matrix.Directory }}
              run: | 
                    vagrant package --base vagrant-default --output default.box