-
Notifications
You must be signed in to change notification settings - Fork 4
60 lines (54 loc) · 1.49 KB
/
terraform.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
name: Terraform
on: # yamllint disable-line rule:truthy
pull_request:
branches:
- main
paths:
- .github/workflows/terraform.yml
- terraform/**
push:
branches:
- main
paths:
- .github/workflows/terraform.yml
- terraform/**
permissions: read-all
jobs:
detect-changes:
name: Detect Changes
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
outputs:
components: ${{ steps.detect_changes.outputs.changes }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build path-filters file
id: build_path_filters
run: bash scripts/path-filter/configuration-generator.sh terraform
- name: Detect changes
id: detect_changes
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
filters: .github/path-filter/terraform.yml
terraform-workflow:
if: ${{ needs.detect-changes.outputs.components != '[]' }}
needs: [detect-changes]
name: Reusable Workflow
permissions:
contents: read
id-token: write
security-events: write
pull-requests: write
strategy:
fail-fast: false
matrix:
component: ${{ fromJson(needs.detect-changes.outputs.components) }}
uses: ./.github/workflows/reusable-workflow-terraform.yml
with:
component: ${{ matrix.component }}
secrets: inherit