|
30 | 30 | - name: Run Terraform lint |
31 | 31 | run: make terraform-lint-check |
32 | 32 |
|
| 33 | + config-management-lint: |
| 34 | + name: Ansible and Salt lint |
| 35 | + runs-on: ubuntu-24.04 |
| 36 | + steps: |
| 37 | + - name: Checkout repository |
| 38 | + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 |
| 39 | + |
| 40 | + - name: Run Ansible and Salt smoke checks |
| 41 | + run: make config-management-smoke |
| 42 | + |
| 43 | + config-management-cloud-smoke: |
| 44 | + name: Linode ${{ matrix.method }} Drupal |
| 45 | + needs: |
| 46 | + - terraform-lint |
| 47 | + - config-management-lint |
| 48 | + runs-on: ubuntu-24.04 |
| 49 | + timeout-minutes: 150 |
| 50 | + if: github.event.pull_request.head.repo.full_name == github.repository |
| 51 | + strategy: |
| 52 | + fail-fast: false |
| 53 | + matrix: |
| 54 | + method: |
| 55 | + - ansible |
| 56 | + - salt |
| 57 | + concurrency: |
| 58 | + group: cloud-compose-config-management-${{ matrix.method }}-drupal |
| 59 | + cancel-in-progress: false |
| 60 | + env: |
| 61 | + CLOUD_COMPOSE_SMOKE_AUTO_APPROVE: "true" |
| 62 | + CLOUD_COMPOSE_SMOKE_DESTROY_TIMEOUT: "1800" |
| 63 | + CLOUD_COMPOSE_SMOKE_SWEEP_ORPHANS: "true" |
| 64 | + CLOUD_COMPOSE_SMOKE_RUN_ID: ${{ github.run_id }} |
| 65 | + LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }} |
| 66 | + steps: |
| 67 | + - name: Checkout repository |
| 68 | + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 |
| 69 | + |
| 70 | + - name: Install Terraform |
| 71 | + uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4 |
| 72 | + with: |
| 73 | + terraform_version: 1.14.6 |
| 74 | + terraform_wrapper: false |
| 75 | + |
| 76 | + - name: Run Linode config-management smoke test |
| 77 | + run: make config-management-cloud-smoke METHOD=${{ matrix.method }} |
| 78 | + |
| 79 | + - name: Destroy Linode config-management smoke resources |
| 80 | + if: always() |
| 81 | + run: ci/config-management-cloud-smoke.sh destroy-${{ matrix.method }}-drupal |
| 82 | + |
33 | 83 | smoke: |
34 | 84 | name: ${{ matrix.name }} |
35 | | - needs: terraform-lint |
| 85 | + needs: |
| 86 | + - terraform-lint |
| 87 | + - config-management-lint |
36 | 88 | runs-on: ubuntu-24.04 |
37 | 89 | timeout-minutes: 150 |
38 | 90 | if: github.event.pull_request.head.repo.full_name == github.repository |
@@ -108,6 +160,30 @@ jobs: |
108 | 160 | if: always() && matrix.provider == 'gcp' && (env.GCLOUD_OIDC_POOL == '' || env.GSA == '' || env.GCLOUD_PROJECT == '') |
109 | 161 | run: echo "Skipping GCP destroy because GCP smoke secrets are not configured and no GCP resources were applied." |
110 | 162 |
|
| 163 | + config-management-cleanup: |
| 164 | + name: Destroy Linode ${{ matrix.method }} Drupal config-management |
| 165 | + needs: config-management-cloud-smoke |
| 166 | + if: always() && (failure() || cancelled()) && github.event.pull_request.head.repo.full_name == github.repository |
| 167 | + runs-on: ubuntu-24.04 |
| 168 | + strategy: |
| 169 | + fail-fast: false |
| 170 | + matrix: |
| 171 | + method: |
| 172 | + - ansible |
| 173 | + - salt |
| 174 | + concurrency: |
| 175 | + group: cloud-compose-config-management-${{ matrix.method }}-drupal |
| 176 | + cancel-in-progress: false |
| 177 | + env: |
| 178 | + CLOUD_COMPOSE_SMOKE_RUN_ID: ${{ github.run_id }} |
| 179 | + LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }} |
| 180 | + steps: |
| 181 | + - name: Checkout repository |
| 182 | + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 |
| 183 | + |
| 184 | + - name: Sweep Linode config-management smoke resources |
| 185 | + run: ci/config-management-cloud-smoke.sh sweep-${{ matrix.method }}-drupal |
| 186 | + |
111 | 187 | cleanup: |
112 | 188 | name: Destroy ${{ matrix.name }} |
113 | 189 | needs: smoke |
|
0 commit comments