@@ -14,28 +14,22 @@ jobs:
14
14
terraform-fmt :
15
15
runs-on : ubuntu-latest
16
16
steps :
17
- - name : checkout
18
- uses : actions/checkout@v3
19
- - name : terraform-fmt
20
- run : |
21
- if [ ! -f /usr/local/bin/terraform ]; then
22
- wget -q https://releases.hashicorp.com/terraform/1.6.0/terraform_1.6.0_linux_amd64.zip
23
- unzip terraform_1.6.0_linux_amd64.zip -d /usr/local/bin/
24
- fi
25
- error=false
26
- echo "===> Terraform fmt -diff checking in quickstarts"
27
- (terraform -chdir=quickstarts fmt -check -recursive -list=false) || error=true
28
- terraform -chdir=quickstarts fmt -diff -recursive
29
- if ${error}; then
30
- echo -e "\033[31m[ERROR]\033[0m: Some quickstarts codes has not been formatted, and please running terraform fmt --recursive command before pushing."
31
- exit 1
32
- fi
17
+ - uses : actions/checkout@v4
18
+
19
+ - uses : hashicorp/setup-terraform@v3
20
+
21
+ - name : Terraform fmt
22
+ id : fmt
23
+ run : terraform -chdir=quickstarts fmt -check -recursive
24
+
33
25
34
26
terraform-validate :
35
27
runs-on : ubuntu-latest
36
28
steps :
37
- - name : checkout
38
- uses : actions/checkout@v3
29
+ - uses : actions/checkout@v4
30
+
31
+ - uses : hashicorp/setup-terraform@v3
32
+
39
33
- name : Get changed files
40
34
id : changed-files
41
35
uses : tj-actions/changed-files@v34
@@ -46,62 +40,67 @@ jobs:
46
40
dir_names_max_depth : 3
47
41
- name : pr-check
48
42
run : |
49
- if [ ! -f /usr/local/bin/terraform ]; then
50
- wget -q https://releases.hashicorp.com/terraform/1.6.0/terraform_1.6.0_linux_amd64.zip
51
- unzip terraform_1.6.0_linux_amd64.zip -d /usr/local/bin/
52
- fi
53
43
CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}"
54
- if [ -z "${{ github.event.number }}" ]; then
55
- CHANGED_FOLDERS=$(find ./quickstarts -maxdepth 2 -mindepth 2 -type d | tr '\n' ',')
56
- fi
57
44
if [ -z "$CHANGED_FOLDERS" ]; then
58
45
echo "No changed quickstarts found"
59
46
exit 0
60
47
fi
61
- bash scripts/terraform-validate.sh ${CHANGED_FOLDERS}
62
48
49
+ error=false
50
+ for f in ${CHANGED_FOLDERS//,/ }
51
+ do
52
+ f=$(echo $f | xargs echo -n)
53
+ echo "===> Terraform validating in" $f
54
+ terraform -chdir=$f init -upgrade
55
+ terraform -chdir=$f validate
56
+ if [[ $? -ne 0 ]]; then
57
+ echo -e "\033[31m[ERROR]\033[0m: Some quickstarts codes contain errors, and please running terraform validate command before pushing."
58
+ exit 1
59
+ fi
60
+ done
63
61
64
- e2e-check :
65
- needs : [terraform-fmt, terraform-validate]
66
- runs-on : ubuntu-latest
67
- name : ' e2e check'
68
- steps :
69
- - name : checkout
70
- uses : actions/checkout@v3
71
- - name : Checking the max commits number
72
- run : |
73
- commitNum=${{ github.event.pull_request.commits }}
74
- if [[ ${commitNum} -gt 1 ]]; then
75
- echo -e "\nERROR: The PR has ${commitNum} commits, and please rebase it to 1.\n"
76
- exit 1
77
- fi
78
- - name : Get changed files
79
- id : changed-files
80
- uses : tj-actions/changed-files@v34
81
- with :
82
- dir_names : " true"
83
- separator : " ,"
84
- files : " quickstarts/*"
85
- dir_names_max_depth : 3
86
- - name : set id
87
- id : set-job-id
88
- uses : ayachensiyuan/get-action-job-id@v1.6
89
- env :
90
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
91
- with :
92
- job-name : ' e2e check'
93
- - name : get pull request info
94
- run : |
95
- echo "repo name is" ${{github.event.pull_request.head.repo.full_name}}
96
- echo "branch is" ${{github.event.pull_request.head.ref}}
97
- echo "the current job id is ${{ steps.set-job-id.outputs.jobId }}"
98
- - name : e2e test
99
- run : |
100
- CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}"
101
- if [ -z "$CHANGED_FOLDERS" ]; then
102
- echo "No changed quickstarts found"
103
- exit 0
104
- fi
105
- objectPath="github-action/${{github.repository}}/e2e/Action-${{github.run_number}}-${{github.run_id}}-${{ steps.set-job-id.outputs.jobId }}"
106
- curl -H "X-Fc-Invocation-Type:Async" -s https://example-ci-terrafoodule-ci-svrrwvrpnj.ap-southeast-1.fcapp.run/?branch=${{github.event.pull_request.head.ref}}\&repo_name=${{github.event.pull_request.head.repo.full_name}}\&oss_object_path=${objectPath}
107
- go run scripts/e2e_check.go ${objectPath}
62
+
63
+ # e2e-check:
64
+ # needs: [terraform-fmt, terraform-validate]
65
+ # runs-on: ubuntu-latest
66
+ # name: 'e2e check'
67
+ # steps:
68
+ # - name: checkout
69
+ # uses: actions/checkout@v3
70
+ # - name: Checking the max commits number
71
+ # run: |
72
+ # commitNum=${{ github.event.pull_request.commits }}
73
+ # if [[ ${commitNum} -gt 1 ]]; then
74
+ # echo -e "\nERROR: The PR has ${commitNum} commits, and please rebase it to 1.\n"
75
+ # exit 1
76
+ # fi
77
+ # - name: Get changed files
78
+ # id: changed-files
79
+ # uses: tj-actions/changed-files@v34
80
+ # with:
81
+ # dir_names: "true"
82
+ # separator: ","
83
+ # files: "quickstarts/*"
84
+ # dir_names_max_depth: 3
85
+ # - name: set id
86
+ # id: set-job-id
87
+ # uses: ayachensiyuan/get-action-job-id@v1.6
88
+ # env:
89
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
90
+ # with:
91
+ # job-name: 'e2e check'
92
+ # - name: get pull request info
93
+ # run: |
94
+ # echo "repo name is" ${{github.event.pull_request.head.repo.full_name}}
95
+ # echo "branch is" ${{github.event.pull_request.head.ref}}
96
+ # echo "the current job id is ${{ steps.set-job-id.outputs.jobId }}"
97
+ # - name: e2e test
98
+ # run: |
99
+ # CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}"
100
+ # if [ -z "$CHANGED_FOLDERS" ]; then
101
+ # echo "No changed quickstarts found"
102
+ # exit 0
103
+ # fi
104
+ # objectPath="github-action/${{github.repository}}/e2e/Action-${{github.run_number}}-${{github.run_id}}-${{ steps.set-job-id.outputs.jobId }}"
105
+ # curl -H "X-Fc-Invocation-Type:Async" -s https://example-ci-terrafoodule-ci-svrrwvrpnj.ap-southeast-1.fcapp.run/?branch=${{github.event.pull_request.head.ref}}\&repo_name=${{github.event.pull_request.head.repo.full_name}}\&oss_object_path=${objectPath}
106
+ # go run scripts/e2e_check.go ${objectPath}
0 commit comments