@@ -5,9 +5,8 @@ name: Reusable EC2 Integration Test
5
5
6
6
env :
7
7
PRIVATE_KEY : ${{ secrets.AWS_PRIVATE_KEY }}
8
- TERRAFORM_AWS_ASSUME_ROLE : ${{ secrets.TERRAFORM_AWS_ASSUME_ROLE }}
9
- S3_INTEGRATION_BUCKET : ${{ secrets.S3_INTEGRATION_BUCKET }}
10
8
KEY_NAME : ${{ secrets.KEY_NAME }}
9
+ TERRAFORM_AWS_ASSUME_ROLE_DURATION : 14400 # 4 hours
11
10
12
11
on :
13
12
workflow_call :
35
34
type : string
36
35
localstack_host :
37
36
type : string
37
+ region :
38
+ type : string
39
+ terraform_assume_role :
40
+ type : string
41
+ s3_integration_bucket :
42
+ type : string
38
43
39
44
jobs :
40
45
EC2IntegrationTest :
56
61
- name : Configure AWS Credentials
57
62
uses : aws-actions/configure-aws-credentials@v1
58
63
with :
59
- role-to-assume : ${{env.TERRAFORM_AWS_ASSUME_ROLE}}
60
- aws-region : us-west-2
64
+ role-to-assume : ${{ inputs.terraform_assume_role }}
65
+ aws-region : ${{inputs.region}}
66
+ role-duration-seconds : ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }}
61
67
62
68
- name : Cache if success
63
69
id : cache_if_success
67
73
key : cache_if_success-${{ github.sha }}-${{ matrix.arrays.os }}-${{ matrix.arrays.arc }}-${{ matrix.arrays.test_dir }}
68
74
69
75
- name : Echo Test Info
70
- run : echo run cache_if_success os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
71
-
76
+ run : |
77
+ echo run cache_if_success os ${{ matrix.arrays.os }} arc ${{ matrix.arrays.arc }} test dir ${{ matrix.arrays.test_dir }}
78
+ echo localstack input ${{ inputs.localstack_host }}
72
79
- name : Verify Terraform version
73
80
run : terraform --version
74
81
@@ -100,14 +107,15 @@ jobs:
100
107
-var="arc=${{ matrix.arrays.arc }}" \
101
108
-var="binary_name=${{ matrix.arrays.binaryName }}" \
102
109
-var="local_stack_host_name=${{ inputs.localstack_host }}" \
103
- -var="s3_bucket=${{env.S3_INTEGRATION_BUCKET}}" \
110
+ -var="region=${{ inputs.region }}" \
111
+ -var="s3_bucket=${{ inputs.s3_integration_bucket }}" \
104
112
-var="plugin_tests='${{ github.event.inputs.plugins }}'" \
105
113
-var="excluded_tests='${{ matrix.arrays.excludedTests }}'" \
106
114
-var="ssh_key_name=${{env.KEY_NAME}}" \
107
115
-var="test_dir=${{ matrix.arrays.test_dir }}" \
108
- -var="agent_start=${{ matrix.arrays.agentStartCommand }}"; then terraform destroy -auto-approve
116
+ -var="agent_start=${{ matrix.arrays.agentStartCommand }}"; then terraform destroy -var="region=${{ inputs.region }}" -var="ami=${{ matrix.arrays.ami }}" - auto-approve
109
117
else
110
- terraform destroy -auto-approve && exit 1
118
+ terraform destroy -var="region=${{ inputs.region }}" -var="ami=${{ matrix.arrays.ami }}" - auto-approve && exit 1
111
119
fi
112
120
# This is here just in case workflow cancel
113
121
- name : Terraform destroy
@@ -117,4 +125,4 @@ jobs:
117
125
max_attempts : 3
118
126
timeout_minutes : 8
119
127
retry_wait_seconds : 5
120
- command : cd ${{ inputs.test_dir }} && terraform destroy --auto-approve
128
+ command : cd ${{ inputs.test_dir }} && terraform destroy -var="region=${{ inputs.region }}" -var="ami=${{ matrix.arrays.ami }}" - -auto-approve
0 commit comments