35
35
SAMPLE_APP_REMOTE_SERVICE_IMAGE : ${{ secrets.APP_SIGNALS_E2E_TEST_ACC }}.dkr.ecr.${{ inputs.aws-region }}.amazonawss.com/${{ secrets.APP_SIGNALS_E2E_RE_SA_IMG }}
36
36
METRIC_NAMESPACE : AppSignals
37
37
LOG_GROUP_NAME : /aws/appsignals/eks
38
- TEST_RESOURCES_FOLDER : /__w /aws-application-signals-test-framework/aws-application-signals-test-framework
38
+ TEST_RESOURCES_FOLDER : /home/runner/work /aws-application-signals-test-framework/aws-application-signals-test-framework
39
39
40
40
jobs :
41
41
e2e-eks-test :
42
42
runs-on : ubuntu-latest
43
- container :
44
- image : ghcr.io/aws-observability/aws-application-signals-test-framework
45
- credentials :
46
- username : ${{ github.actor }}
47
- password : ${{ secrets.PAT_PACKAGE_READ_ACCESS_TOKEN }}
48
-
49
43
steps :
50
44
- uses : actions/checkout@v4
51
45
with :
88
82
role-to-assume : arn:aws:iam::${{ env.ACCOUNT_ID }}:role/${{ secrets.E2E_TEST_ROLE_ARN }}
89
83
aws-region : ${{ inputs.aws-region }}
90
84
85
+ # local directory to store the kubernetes config
86
+ - name : Create kubeconfig directory
87
+ run : mkdir -p ${{ github.workspace }}/.kube
88
+
89
+ - name : Set KUBECONFIG environment variable
90
+ run : echo KUBECONFIG="${{ github.workspace }}/.kube/config" >> $GITHUB_ENV
91
+
91
92
- name : Set up kubeconfig
92
93
run : aws eks update-kubeconfig --name ${{ inputs.test-cluster-name }} --region ${{ inputs.aws-region }}
93
94
95
+ - name : Download and install eksctl
96
+ uses : ./.github/workflows/actions/execute_and_retry
97
+ with :
98
+ pre-command : ' mkdir ${{ github.workspace }}/eksctl'
99
+ command : ' curl -sLO "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_Linux_amd64.tar.gz"
100
+ && tar -xzf eksctl_Linux_amd64.tar.gz -C ${{ github.workspace }}/eksctl && rm eksctl_Linux_amd64.tar.gz'
101
+ cleanup : ' rm -f eksctl_Linux_amd64.tar.gz'
102
+
94
103
- name : Add eksctl to Github Path
95
104
run : |
96
105
echo "${{ github.workspace }}/eksctl" >> $GITHUB_PATH
@@ -108,6 +117,13 @@ jobs:
108
117
--region ${{ inputs.aws-region }} \
109
118
--approve"
110
119
120
+ - name : Set up terraform
121
+ uses : ./.github/workflows/actions/execute_and_retry
122
+ with :
123
+ command : " wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg"
124
+ post-command : ' echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
125
+ && sudo apt update && sudo apt install terraform'
126
+
111
127
- name : Initiate Terraform
112
128
uses : ./.github/workflows/actions/execute_and_retry
113
129
with :
@@ -146,7 +162,7 @@ jobs:
146
162
# If the deployment_failed is still 0, then the terraform deployment succeeded and now try to connect to the endpoint
147
163
# after installing App Signals. Attempts to connect will be made for up to 10 minutes
148
164
if [ $deployment_failed -eq 0 ]; then
149
- . ${{ env.TEST_RESOURCES_FOLDER }}/.github/workflows/util/execute_and_retry.sh
165
+ source ${{ env.TEST_RESOURCES_FOLDER }}/.github/workflows/util/execute_and_retry.sh
150
166
execute_and_retry 2 \
151
167
"${{ env.TEST_RESOURCES_FOLDER }}/enablement-script/enable-app-signals.sh \
152
168
${{ inputs.test-cluster-name }} \
@@ -257,6 +273,13 @@ jobs:
257
273
curl -S -s http://${{ env.APP_ENDPOINT }}/remote-service?ip=${{ env.REMOTE_SERVICE_POD_IP }}/
258
274
curl -S -s http://${{ env.APP_ENDPOINT }}/client-call/
259
275
276
+ - name : Build Gradlew
277
+ uses : ./.github/workflows/actions/execute_and_retry
278
+ with :
279
+ max_retry : 2
280
+ command : " ./gradlew"
281
+ cleanup : " ./gradlew clean"
282
+
260
283
# Validation for app signals telemetry data
261
284
- name : Call endpoint and validate generated EMF logs
262
285
id : log-validation
0 commit comments