|
30 | 30 | - deployment/ansible/roles/**
|
31 | 31 |
|
32 | 32 | jobs:
|
33 |
| - check-molecule: |
34 |
| - name: Check Ansible Molecule role tests |
35 |
| - strategy: |
36 |
| - fail-fast: false |
37 |
| - matrix: |
38 |
| - role: [bootstrap, genesis] |
| 33 | + changes: |
| 34 | + runs-on: ubuntu-latest |
| 35 | + outputs: |
| 36 | + bootstrap: ${{ steps.filter.outputs.bootstrap }} |
| 37 | + genesis: ${{ steps.filter.outputs.genesis }} |
| 38 | + add-accounts: ${{ steps.filter.outputs.add-accounts }} |
| 39 | + configure: ${{ steps.filter.outputs.configure }} |
| 40 | + steps: |
| 41 | + - uses: actions/checkout@v3 |
| 42 | + - uses: dorny/paths-filter@v2 |
| 43 | + if: ${{ !env.ACT }} |
| 44 | + id: filter |
| 45 | + with: |
| 46 | + token: ${{ secrets.GITHUB_TOKEN }} |
| 47 | + filters: | |
| 48 | + reqs: &reqs |
| 49 | + - 'deployment/test-requirements.*' |
| 50 | + bootstrap: |
| 51 | + - *reqs |
| 52 | + - 'deployment/ansible/roles/bootstrap/**' |
| 53 | + genesis: |
| 54 | + - *reqs |
| 55 | + - 'deployment/ansible/roles/genesis/**' |
| 56 | + add-accounts: |
| 57 | + - *reqs |
| 58 | + - 'deployment/ansible/roles/add-accounts/**' |
| 59 | + configure: |
| 60 | + - *reqs |
| 61 | + - 'deployment/ansible/roles/configure/**' |
| 62 | + check-bootstrap: |
| 63 | + needs: changes |
| 64 | + if: needs.changes.outputs.bootstrap == 'true' |
| 65 | + name: Check Bootstrap Ansible role |
| 66 | + runs-on: ubuntu-latest |
| 67 | + steps: |
| 68 | + - uses: actions/checkout@v2 |
| 69 | + - uses: ./.github/actions/setup-molecule |
| 70 | + with: |
| 71 | + ansible-role: bootstrap |
| 72 | + check-genesis: |
| 73 | + needs: changes |
| 74 | + if: needs.changes.outputs.genesis == 'true' |
| 75 | + name: Check Genesis Ansible role |
| 76 | + runs-on: ubuntu-latest |
| 77 | + steps: |
| 78 | + - uses: actions/checkout@v2 |
| 79 | + - uses: ./.github/actions/setup-molecule |
| 80 | + with: |
| 81 | + ansible-role: genesis |
| 82 | + check-add-accounts: |
| 83 | + needs: changes |
| 84 | + if: needs.changes.outputs.add-accounts == 'true' |
| 85 | + name: Check Add accounts Ansible role |
| 86 | + runs-on: ubuntu-latest |
| 87 | + steps: |
| 88 | + - uses: actions/checkout@v2 |
| 89 | + - uses: ./.github/actions/setup-molecule |
| 90 | + with: |
| 91 | + ansible-role: add-accounts |
| 92 | + check-configure: |
| 93 | + needs: changes |
| 94 | + if: needs.changes.outputs.configure == 'true' |
| 95 | + name: Check Configure Ansible role |
39 | 96 | runs-on: ubuntu-latest
|
40 | 97 | steps:
|
41 | 98 | - uses: actions/checkout@v2
|
42 |
| - - uses: actions/setup-python@v3 |
| 99 | + - uses: ./.github/actions/setup-molecule |
43 | 100 | with:
|
44 |
| - python-version: '3.x' |
45 |
| - - name: install dependencies |
46 |
| - run: pip install -r deployment/test-requirements.txt |
47 |
| - - name: Run molecule tests |
48 |
| - run: | |
49 |
| - cd deployment/ansible/roles/${{ matrix.role }}/ |
50 |
| - molecule --debug test |
| 101 | + ansible-role: configure |
0 commit comments