|
1 | 1 | name: PR Verify |
2 | 2 |
|
3 | 3 | # Label-based workflow control: |
4 | | -# - Always run Terraform plan against Development when Terraform exists (skips drafts/dependabot) |
| 4 | +# - Always run Terraform plan against Development when Terraform exists (skips drafts) |
5 | 5 | # - 'deploy-dev': Runs Terraform plan+apply and deploys the app to Development (skips drafts/dependabot) |
6 | 6 | # - 'run-prd-plan': Runs Terraform plan against Production (skips drafts/dependabot) |
7 | 7 |
|
@@ -31,21 +31,25 @@ jobs: |
31 | 31 | permissions: |
32 | 32 | contents: read |
33 | 33 | id-token: write |
34 | | - if: github.event.pull_request.draft == false && github.event.pull_request.user.login != 'dependabot[bot]' && !contains(github.event.pull_request.labels.*.name, 'deploy-dev') |
| 34 | + if: github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'deploy-dev') |
35 | 35 | needs: build-and-test |
36 | 36 | environment: Development |
37 | 37 | runs-on: ubuntu-latest |
38 | 38 | concurrency: |
39 | 39 | group: ${{ github.repository }}-dev |
| 40 | + env: |
| 41 | + AZURE_CLIENT_ID: ${{ github.event.pull_request.user.login == 'dependabot[bot]' && vars.AZURE_PLAN_CLIENT_ID || vars.AZURE_CLIENT_ID }} |
| 42 | + AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} |
| 43 | + AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} |
40 | 44 | steps: |
41 | 45 | - uses: frasermolyneux/actions/terraform-plan@main |
42 | 46 | with: |
43 | 47 | terraform-folder: "terraform" |
44 | 48 | terraform-var-file: "tfvars/dev.tfvars" |
45 | 49 | terraform-backend-file: "backends/dev.backend.hcl" |
46 | | - AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }} |
47 | | - AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} |
48 | | - AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} |
| 50 | + AZURE_CLIENT_ID: ${{ env.AZURE_CLIENT_ID }} |
| 51 | + AZURE_TENANT_ID: ${{ env.AZURE_TENANT_ID }} |
| 52 | + AZURE_SUBSCRIPTION_ID: ${{ env.AZURE_SUBSCRIPTION_ID }} |
49 | 53 |
|
50 | 54 | terraform-plan-and-apply-dev: |
51 | 55 | permissions: |
@@ -108,18 +112,22 @@ jobs: |
108 | 112 | permissions: |
109 | 113 | contents: read |
110 | 114 | id-token: write |
111 | | - if: github.event.pull_request.draft == false && github.event.pull_request.user.login != 'dependabot[bot]' && contains(github.event.pull_request.labels.*.name, 'run-prd-plan') |
| 115 | + if: github.event.pull_request.draft == false && contains(github.event.pull_request.labels.*.name, 'run-prd-plan') |
112 | 116 | needs: build-and-test |
113 | 117 | environment: Production |
114 | 118 | runs-on: ubuntu-latest |
115 | 119 | concurrency: |
116 | 120 | group: ${{ github.repository }}-prd |
| 121 | + env: |
| 122 | + AZURE_CLIENT_ID: ${{ github.event.pull_request.user.login == 'dependabot[bot]' && vars.AZURE_PLAN_CLIENT_ID || vars.AZURE_CLIENT_ID }} |
| 123 | + AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} |
| 124 | + AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} |
117 | 125 | steps: |
118 | 126 | - uses: frasermolyneux/actions/terraform-plan@main |
119 | 127 | with: |
120 | 128 | terraform-folder: "terraform" |
121 | 129 | terraform-var-file: "tfvars/prd.tfvars" |
122 | 130 | terraform-backend-file: "backends/prd.backend.hcl" |
123 | | - AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }} |
124 | | - AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} |
125 | | - AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} |
| 131 | + AZURE_CLIENT_ID: ${{ env.AZURE_CLIENT_ID }} |
| 132 | + AZURE_TENANT_ID: ${{ env.AZURE_TENANT_ID }} |
| 133 | + AZURE_SUBSCRIPTION_ID: ${{ env.AZURE_SUBSCRIPTION_ID }} |
0 commit comments